2016-01-13 66 views
1

我已經從數據庫獲取utc datetime。我想通過用戶時區名稱顯示此utc datetime。那麼我該如何使用javascript 解決此問題?如果您有任何想法,請與我分享這個問題。使用javascript轉換utc datetime by timezoName

+0

還不清楚的是,因爲JavaScript的'日期是什麼問題()'都已經做自動 – charlietfl

+0

退房時刻,時區http://momentjs.com/timezone/。如果您希望Date()只是用戶的時區,Date()會更容易,但是時刻可讓您按名稱指定時區。 –

+0

http://stackoverflow.com/questions/10087819/convert-date-to-another-timezone-in-javascript –

回答

1

TRY Moment Timezone

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>

0

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

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(); 
+0

感謝您的甜蜜回答,但我想通過timezoneName像'Asia/Jakarta'User轉換utc datetime。 TimezoneName和utc dateTime only.I已轉換日期時間由用戶TimeZone名稱只有不getTimezoneOffset。 – Sundar

+0

使用moment.js與時刻 - 時區。 – Thangadurai

+0

如果你要去喲moment.js意味着函數將是這樣的... function toTimeZone(time,zone)var format ='YYYY/MM/DD HH:mm:ss ZZ'; return moment(time,format).tz(zone).format(format); } – Thangadurai