2

特定の場所で特定の時間に夏時間が有効になっているかどうかを確認するために使用できる JavaScript のライブラリはありますか。

たとえば、タイム ゾーン コードで「July 1 05:30:00 UTC+0500 2009」と言う日付を知りたいとします。追加情報はいつでも受け付けます。

タイム ゾーン コードは、 http://msdn.microsoft.com/en-us/library/bb887715.aspxで確認できます。

事前にご協力いただきありがとうございます。

ごきげんよう!

4

2 に答える 2

1

Javascript は、CRM のタイム ゾーン コードについて何も知りません。

TimeZoneInfo.NET から使用したり、Windows レジストリを参照したりするときに見つかるような、Windows タイム ゾーン識別子を処理できる JavaScript 用の優れたライブラリさえありません。

JavaScript でタイム ゾーンを操作する必要がある場合は、IANA/Olson タイム ゾーン識別子に変換してから、ここで説明したライブラリのいずれかを使用する必要があります。

サーバー上の .NET で作業できる場合は、この方法を使用して CRM タイム ゾーン ID から Windows タイム ゾーン ID に変換できます。次に、この方法を使用して、Windows から IANA タイム ゾーンに変換できます。しかし、とにかくサーバー上で多くの作業を行うつもりなら、データ変換をそこでも行わない理由がわかりません。

CRM タイム ゾーン ID から直接動作する純粋な JavaScript ソリューションを探している場合は、申し訳ありませんが、私の知る限り、それは存在しません。自分で作成し、タイムゾーン データの変更に合わせて維持する必要があります。

于 2013-11-06T15:31:07.910 に答える
0

これは、入力としてタイムゾーンが指定された場合にtrueまたはを返します。false

function stdTimezoneOffset() {
    var d = new Date();
    var jan = new Date(d.getFullYear(), 0, 1);
    var jul = new Date(d.getFullYear(), 6, 1);
    return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());
}
function dst(offset) {
    var d = new Date(); // create Date object for the current location
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000); // get UTC time in milliseconds
    var nd = new Date(utc + (3600000 * offset)); // Create net Date() for city with offset
    return d.getTimezoneOffset() < stdTimezoneOffset();
}
alert(dst('-5.0')); //New York
于 2013-11-06T03:15:30.997 に答える