簡體   English   中英

在JavaScript中將UTC日期時間字符串轉換為基於瀏覽器的時區

[英]Convert UTC datetime string to browser based timezone in javascript

有沒有辦法在javascript中將格式為“ 11/30/2016 3:05:24 AM”UTC字符串轉換為基於瀏覽器的時區(例如PST ),而無需使用第三方數據庫/腳本(例如moment.js)?

示例-如果時區是IST (印度標准時間),比UTC早5小時30分鍾,則輸出應為2016年11月30日8:35:24 AM

如果您使用片刻,那將是最好的。

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)

好的,現在您已經清除了要在沒有第三方庫的情況下進行操作的可能性,這也是有可能的。

  1. 取得當地時區偏移
  2. 從您的UTC字符串創建日期對象
  3. 在其中添加您當地的時區偏移量

或沒有第三方庫的簡單方法

var dateStr = '11/30/2016 3:05:24 AM';
var date = new Date(dateStr + ' UTC');
console.log(date.toString()); 

在這里演示

你可以做這樣的事情。

 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函數中傳遞各個部分, Date.UTC函數返回自1970年1月1日UTC 00:00:00以來的毫秒數。 參見Date.UTC

創建一個新的傳遞此值的日期對象,它將返回本地時區的日期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM