簡體   English   中英

使用javascript按timezoName轉換utc datetime

[英]Convert utc datetime by timezoName using javascript

我從數據庫中獲取了utc日期時間。我想按用戶時區名稱顯示此utc日期時間。因此,我該如何使用javascript解決此問題?

TRY 時區

var newYork    = moment.tz("2014-06-01 12:00", "America/New_York");
var losAngeles = newYork.clone().tz("America/Los_Angeles");
var london     = newYork.clone().tz("Europe/London");

newYork.format();    // 2014-06-01T12:00:00-04:00
losAngeles.format(); // 2014-06-01T09:00:00-07:00
london.format();     // 2014-06-01T17:00:00+01:00

DEMO:

 var newYork = moment.tz("2014-06-01 12:00", "America/New_York"); var losAngeles = newYork.clone().tz("America/Los_Angeles"); var london = newYork.clone().tz("Europe/London"); $('#newYork').html(newYork.format()); $('#losAngeles').html(losAngeles.format()); $('#london').html(london.format()); 
 <script src="http://momentjs.com/downloads/moment-with-locales.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://momentjs.com/downloads/moment-timezone-with-data.min.js"></script> <p><strong>newYork:</strong> <span id="newYork"></span></p> <p><strong>losAngeles:</strong> <span id="losAngeles"></span></p> <p><strong>london:</strong> <span id="london"></span></p> 

使用它來轉換為當地時間。

var date = new Date('6/29/2011 4:52:48 PM UTC');
date.toString() // "Wed Jun 29 2011 09:52:48 GMT-0700 (PDT)"

其他明智的做法是使用時區偏移量轉換為本地時間:

function convertUTCDateToLocalDate(date) {
var newDate = new Date(date.getTime()+date.getTimezoneOffset()*60*1000);

var offset = date.getTimezoneOffset() / 60;
var hours = date.getHours();

newDate.setHours(hours - offset);

return newDate;   
}

基於使用轉換

convertUTCDateToLocalDate(date).toString();

暫無
暫無

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

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