3

世界中のタイム ゾーンに基づいて会議カレンダーを作成しています。私の問題は、JavaScript でユーザーが選択した日付にタイム ゾーンを加算または減算する方法です。

たとえば、選択フォームでは、ユーザーはフォームから日付を選択します。次に、結果を取得して、以下のように日付に変換します...

var ldSelectDate = new Date(document.form1.year.value,
           document.form1.month.value,
           document.form1.day.value);

このオブジェクトに深夜 12 時を追加したいと思います。

次に、2 つの都市間のタイム ゾーンの違いを文字列で取得する XML を読み込みます。たとえば、カブールの場合は「+0430」、ニューヨークの場合は「-0400」(夏時間) などです。これはGMTに基づいています。

次に、2 つの都市のタイム ゾーンの差を計算します。これにより、"830" という文字列が返されます。(これを日付オブジェクトとして返す必要があると思いますか?)。この部分は文字列を返すことで完了しました。私は文字列を扱っています。

次に、1 日の 24 時間をループし、カブールを深夜 12 時に設定してからループします。私はおそらくこれを理解することができます-つまり、ループするときに時間全体で日付を設定します。

私の問題は、カブールから「830」を簡単に差し引いて、ニューヨークでの会議の時間を確認することです.

カブール時間から時間と分を差し引くことができれば理想的です. ここで誰かが JavaScript で時間を差し引いていることに気付きましたが、分は差し引いていません。ところで、その投稿は私にはうまくいきませんでした。

分なしの文字列でこれを行いましたが、分を台無しにしました。もっと簡単な方法があるはずです。

ネイティブ JavaScript または jQuery のいずれかで解決策を講じます。

繰り返しますが、時間と分の時間帯の差を特定の日付に減算/加算する必要があります。

4

2 に答える 2

12
date.setMinutes(date.getMinutes()+minutesToAdd);

上記のコードは、minutesToAdd 変数の分数だけ日付オブジェクトを先に設定します。

于 2011-07-18T14:37:36.967 に答える
-1

最も簡単なのは、その時間デルタの分を計算してから、分デルタを実行することです。

date.setMinutes(date.getMinutes() - (hours*60+minutes))
于 2011-07-18T14:38:15.337 に答える