2011-08-15 49 views
1

無論用戶的計算機日期如何,我都需要將日期和時間設置爲午夜12點。我正在創建一個國際會議策劃者來抵消時區以開會。將Javascript日期對象設置爲午夜而不基於用戶計算機日期

我有它的工作,但我需要現在編碼時區的差異。如果我使用新的日期,它給了我基於用戶計算機的時間。例如,我的是美國東部。如果我在2011年11月6日嘗試進行時區轉換,則Javascript /計算機將在凌晨2點計算我的時區轉換。我不想要這個。

我的真正目標是將會議設置爲會議的主持地點(比方說阿富汗),然後從那裏計算的時區爲午夜12點。

所以:

  1. 如何設置午夜12點而不被用戶的電腦時間?

  2. 我可以將午夜12點設置到特定時區,而不依賴於用戶的計算機時間嗎?

我必須用Javascript來做這件事,因爲沒有涉及服務器代碼。

感謝

+0

您可能想查看http://www.datejs.com/我不確定它是否會解決您的特定問題,但它具有正常日期變量之上的豐富功能。 –

+2

接受以前的問題的一些答案,你會更有可能得到一些幫助。 6個問題,而不是一個接受的答案? – Loktar

+0

你要怎麼舉辦一個沒有服務器代碼的在線會議? –

回答

1

像這樣的事情我猜:new Date(Date.UTC(year, month, day, hour, minute, second))

w3schools Reference

+0

至於沒有服務器代碼,我們並不需要它。一切都以HTML,Javascript完成。 – user581733

+0

對不起,但新日期(Date.UTC ...)不起作用。 – user581733

+0

你是什麼意思?該方法支持:http://www.w3schools.com/jsref/jsref_utc.asp – dierre

1

要在格林尼治標準時間創建午夜:

// Note: months are 0-based, so 7 == august 
var midnight = new Date(Date.UTC(2011,7,15)); 
// Sun Aug 14 2011 18:00:00 GMT-0600 (Mountain Daylight Time) 

要在另一個時區創建午夜:

var mdt = -6; // Mountain Daylight Time 
var midnightMDT = new Date(Date.UTC(2011,7,15,-mdt)); 
//-> Mon Aug 15 2011 00:00:00 GMT-0600 (Mountain Daylight Time) 

日期對象以用戶的本地時區表示,但它們仍然代表另一個時區的午夜。

如果你想表達的另一個時區的日期,你需要抵消的日期到時區(setUTCHours()),然後使用各種getUTC *方法(例如getUTCHours())來構建自己的字符串。

+0

謝謝。我會試試這個。 – user581733

+0

@ user581733不客氣。如果您發現這對您有幫助,您可以通過點贊和/或點擊「接受」複選標記來表示您的讚賞。 – Phrogz