尝试使用以下代码将本地日期时间转换为EST时间并获得EST时间但是它减少了一个小时,例如,如果它是6.00 EST,它显示我5.00 EST。 有谁知道出了什么问题?
var offset = -5.0;
var fromDate = new Date(selectedDate); // selected date is String of date which is set currently
var utcFromTime = fromDate.getTime() + (fromDate.getTimezoneOffset() * 60000);
var effFromDate = new Date(utcFromTime + (3600000 * offset));
alert("final EST :" + effFromDate);
答案 0 :(得分:-1)
抱歉,我认为您无法使用JavaScript执行此操作,因为它无法处理时区。 您应该使用PHP之类的语言,并使用Ajax将结果返回给JavaScript。
答案 1 :(得分:-1)
因此,使用moment和moment timezone可以执行此操作
//create new moment with local time then update the timezone
var localTimeInMurica = moment().tz("EST");
//display EST time of the local time orgionally passed
//see http://momentjs.com/docs/#/displaying/ for options on displaying the date
console.log(localTimeInMurica.format());
这里有一个小提琴(我在手动而不是通过cdn包括时刻时区,因为我想要获得最新的所有年份)http://fiddle.jshell.net/leighking2/61j008n0/
for EDT
//create new moment with local time then update the timezone
var localTimeInMurica = moment().tz("America/New_York");
//display EST time of the local time orgionally passed
//see http://momentjs.com/docs/#/displaying/ for options on displaying the date
console.log(localTimeInMurica.format());
答案 2 :(得分:-1)
使用此link
var UTC = new Date();
var UTC = UTC.getTime() // Get UTC Timestamp
通过设置时区的小时和分钟
var IST = new Date(date); // Clone UTC Timestamp
IST.setHours(IST.getHours() + 5); // set Hours to 5 hours later
IST.setMinutes(IST.getMinutes() + 30); // set Minutes to be 30 minutes later
或使用moment.js
var dec = moment("2014-12-01T12:00:00Z");
dec = dec.tz('America/New_York');