有沒有辦法到UTC
字符串格式「二○一六年十一月三十〇日上午03時05分24秒」的轉換到基於瀏覽器的時區(比如)在JavaScript中不使用像moment.js這樣的第三方庫/腳本?將UTC時間字符串到基於瀏覽器的時區在JavaScript
實施例 - 如果時區爲IST
(印度標準時間),其是5小時,提前UTC
30分鐘輸出應爲2016年11月30日上午08點35分24秒
有沒有辦法到UTC
字符串格式「二○一六年十一月三十〇日上午03時05分24秒」的轉換到基於瀏覽器的時區(比如)在JavaScript中不使用像moment.js這樣的第三方庫/腳本?將UTC時間字符串到基於瀏覽器的時區在JavaScript
實施例 - 如果時區爲IST
(印度標準時間),其是5小時,提前UTC
30分鐘輸出應爲2016年11月30日上午08點35分24秒
它如果你使用的時刻將是最好的。
var localTimeInUTC = moment.utc('11/30/2016 3:05:24 AM','MM/DD/YYYY HH:mm:ss A').toDate();
localTime = moment(localTimeInUTC).format('YYYY-MM-DD HH:mm:ss A');
console.log(localTime); // It will be in your browser timezone
在簡單的時刻。
moment.utc(utcDateTime, utcDateTimeFormat).local().format(specifiedFormat)
好吧現在你清除了你想要做的沒有第三方庫,那麼也是可能的。
或簡單的方式沒有第三方庫
var dateStr = '11/30/2016 3:05:24 AM';
var date = new Date(dateStr + ' UTC');
console.log(date.toString());
演示here
你可以做這樣的事情。
var dp = "11/30/2016 3:05:24 AM".split(/[/: ]/);
var dateLocale = new Date(Date.UTC(dp[2], dp[0]-1, dp[1], (dp[3]%12 + (dp[6]=='PM' ? 12 : 0)), dp[4], dp[5]));
console.log(dateLocale.toString());
拆分組件中的日期,並傳入Date.UTC
功能自1970年1月1日00:00:00 UTC返回毫秒數的各個部分。請參見Date.UTC
創建一個傳遞此值的新日期對象,它將返回本地時區中的日期。
感謝您的回答!同樣使用date.toLocaleString()在區域設置瀏覽器文化中給出datetime字符串,如11/30/2016 8:35:24 AM。 [Demo](https://jsfiddle.net/kvtv4unq/1/)在這裏。 – Ashley
你可以檢查'date.toLocaleString()',但我建議使用'moment'。 – Rajesh
這可能有所幫助:http://stackoverflow.com/questions/8469436/how-format-javascript-date-with-regard-to-the-browser-culture – Rajesh