2011-07-18 40 views
3

我根據世界各地時區建設會議日曆的日期。我的問題是如何從Javascript中的用戶選擇日期添加或減去時區。添加小時和分鐘來用JavaScript

例如,選擇表格時,用戶會從表單中選擇日期:那麼我會得到的結果,並轉換爲下面的日期......

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

我想補充午夜12點到這個物體。

然後,我讀取XML獲取兩個城市之間的字符串時區差異:例如喀布爾的「+0430」或紐約的夏令時(夏令時)的「-0400」。這是基於格林威治標準時間。

然後我計算兩個城市之間的時差:它將返回字符串「830」。 (我假設我必須將它作爲日期對象返回?)。我完成了這部分返回一個字符串。我正在使用字符串。

然後我想循環一天的24小時,在午夜12點設置喀布爾,然後循環。我很可能會想到這一點 - 也就是說,當我循環時將日期設置爲整個小時。

我的問題是無痛地減去喀布爾的「830」,看看會議時間將在紐約舉行。

這將是理想的,如果我可以只減去小時和分鐘從喀布爾時間。我注意到在這裏有人減去JavaScript中的小時數,但不是分鐘數。順便說一句,那個帖子不適合我。

我這樣做有沒有琴絃分鐘,但隨着分鐘,我陷入困境。必須有一個更簡單的方法。

我想借此在任何本地JavaScript或jQuery的解決方案。

同樣,我需要減去/添加以小時和分鐘爲單位的時區差異到某個日期。

感謝

回答

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

上面的代碼將在minutesToAdd可變提前設置你的約會對象的分鐘數

+0

我該如何將它轉換回整小時和分鐘?我討厭聽起來很無知,但我一直在爲此工作一個星期,但進展甚微。 – user581733

+0

你可以使用date.getHours()和使用date.getMinutes()分鐘。 –

+1

所以,你可以做 VAR日期=新的日期(/ *此處的表單數據* /); date.setMinutes(date.getMinutes()+ calculateZoneDifference()); var timeString = date.getHours()+「:」+ date.getMinutes(); 這會讓你看起來像9:54 –

-1

最簡單的是計算分鐘爲時間差,然後做了幾分鐘三角洲。

date.setMinutes(date.getMinutes() - (hours*60+minutes))