var myDate = new Date('2013-01-01 00:00:00');
我假設JS爲UTC時間讀取該英寸但是當我做一些像myDate.getTime()這樣的事情時,返回的時間戳就像是4AM GMT時間。
這是爲什麼?我如何獲得UTC時間的午夜時間?
var myDate = new Date('2013-01-01 00:00:00');
我假設JS爲UTC時間讀取該英寸但是當我做一些像myDate.getTime()這樣的事情時,返回的時間戳就像是4AM GMT時間。
這是爲什麼?我如何獲得UTC時間的午夜時間?
JS讀取您的計算機使用的時區。
您可以嘗試使用myDate.toUTCString()
獲取UTC時間的日期。
如果你想獲得時間戳使用myDate.getTime()
至少在Chrome中,這個工程:
var myDate = new Date('2013-01-01 00:00:00 UTC');
如果你把GMT
而不是UTC
它也適用。但我不知道這是否足夠跨瀏覽器。
我住在印度。因此,我的時區是印度標準時間(IST),它在tz數據庫中列爲Asia/Kolkata
。印度比格林威治標準提前5小時30分鐘。因此,當我執行new Date("2013-01-01 00:00:00")
GMT時的實際時間爲"2012-12-31 18:30:00"
。
我相信你住在美國,因爲你在EST時區(GMT-04:00)?我對嗎?
如果你想在格林尼治標準時間而不是本地時區來解析時間,那麼這樣做:
new Date("2013-01-01T00:00:00+00:00");
注意資本的日期和時間,以及+00:00
末之間T
。這是用於解析特定時區中給定時間的格式。
鑑於日期字符串"2013-01-01 00:00:00"
您可以使用下面的函數將其轉換爲所需的格式:
function formatDateString(string, timezone) {
return string.replace(" ", "T") + timezone;
}
然後你就可以創建如下日期:
new Date(formatDateString("2013-01-01 00:00:00", "+00:00"));
另一種方式將本地時間轉換爲GMT時間如下:
var timezone = new Date("1970-01-01 00:00:00"); // this is the start of unix time
現在,你有你自己的本地時區的日期對象,你可以這樣做:
new Date(new Date("2013-01-01 00:00:00") - timezone);
所有上述方法產生的格林尼治標準時間相同的日期。 HTTP://計算器
除了最後一個以外,所有的好主意。如果在1970年1月1日的偏移量不同於輸入日期的偏移量,那麼這不會成立。另外,你可以使用'Z'而不是'+00:00',但兩者都是有效的。 –
煤礦做這個
var datetime= new Date()
然而,一個月爲1度低,所以你必須添加一個
可能的重複數據刪除的作品根本。com/questions/948532/how-do-you-convert-a-javascript-date-to-utc – stackErr
好資源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date?redirectlocale = zh-CN&redirectslug = JavaScript%2FReference%2FGlobal_Objects%2FDate – DevlshOne
您基於哪個時區? –