1

私の目標は、pdf フォームからの 2 つの異なる日付フィールド入力を比較して、ドロップダウン リストに入力する関数に送信する配列を決定するタイム ゾーン コンバーターを作成することです。1 つの配列には DST の UTC オフセットがあり、もう 1 つの配列には DST を無視した UTC オフセットがあります。最初に、静的な日付に対して日付をチェックする条件ステートメントを作成しようとしましたが、これは毎年修正する必要があります。これを簡単にするために JavaScript を利用する方法はありますか? 理想的には自動調整コードが欲しいのですが、毎年 1 回の調整で世界が終わるわけではありません。元のアイデアは、次の一般的なアイデア (疑似コード) で構成されていました。

if(11 Mar 2012 < date < 04 Nov 2012){
CountryCode = CountryCodeDST}
else{
CountryCode = CountryCode}

関数を含む配列は次のとおりです。何か案は?ガイダンス?これは私が JavaScript に触れるのは初めてで、うまくいけば、この質問が理にかなっていて、私と一緒に他の人を助けることができます.

var CountryCode = new Array(
"CST",
"EST",
"MST",
"MST-Arizona");

var UTCoffset = new Array(
"GMT+0600", 
"GMT+0500",
"GMT+0700", 
"GMT+0700");

var CountryCodeDST = new Array(
"CST",
"EST",
"MST",
"MST-Arizona");

var UTCoffsetDST = new Array(
"GMT+0500", 
"GMT+0400",
"GMT+0600", 
"GMT+0700");

function TZ_Populate(dropdownField)
{
for (var i=0; i < CountryCode.length; i++)
dropdownField.addItem(CountryCode[i]);
}

function TZ_ReadOut(TZ_Alias, UTC_Alias)
{
for (var i = 0; i < CountryCode.length; i++)            
{
if (CountryCode[i] == TZ_Alias)                     
    {
    UTC_Alias.rawValue = UTCoffset[i];                  
    break;                                      
    }
}
}
4

1 に答える 1

0
if(11 Mar 2012 < date < 04 Nov 2012){
CountryCode = CountryCodeDST}
else{
CountryCode = CountryCode}

これは実際には Javascript では非常に簡単です。バックグラウンドで Javascript は日付を整数 (具体的にはエポック ポイントからのミリ秒数) として表現するからです。その結果、ほぼ文字通り同じコードを記述して、実際に動作させることができます。

var Mar11_2012 = new Date('3/11/2012');
var Nov04_2012 = new Date('11/4/2012')
if(Mar11_2012 < date && date < Nov04_2012){
CountryCode = CountryCodeDST}
else{
CountryCode = CountryCode}
于 2012-07-13T21:22:45.747 に答える