Moment js使用Java脚本为Fromnow()使用localtime

时间:2017-01-06 11:43:22

标签: javascript momentjs

我想在我的html页面中找时间,但考虑计算的时间是格林威治子午线时间。

我正在尝试

moment.utc(date).fromNow();

我尝试使用.tz('Asia/Kolkata')在我的本地区域中抽出时间并尝试:

moment.utc(date).from(moment(new Date()).tz('Asia/kolkata').format('llll'));

这仍需要格林威治子午线时间来计算。

EDIT 'date'由节点js服务器在JSON中发送。日期也是使用var date = moment(new Date()).tz('Asia/kolkata').format('llll')计算的。

对我而言,当地时间是'Asia / Kolkota'

1 个答案:

答案 0 :(得分:0)

我认为问题在于你试图让momentJs解释一个日期时间字符串,该字符串不是一种可以识别的格式(使用.format('llll'))。

如果您尝试获取给定日期的UTC与当前Asia\Kolkata时间之间的时间差异。你最好尝试类似的东西:

// get "now" in Asia Kolkata and format into a string that Moment will understand
var dateFromServer = moment(new Date()).tz('Asia/kolkata').format('YYYY-MM-DD HH:mm:ss');
// to see a much different time try:
//var dateFromServer = moment('2016-12-31 15:00:00').tz('Asia/kolkata').format('YYYY-MM-DD HH:mm:ss');

// on client get "now" in Asia Kolkata
var nowInKolkata = moment().tz('Asia/kolkata');
// output string from "server"
dateOutput.innerHTML = 'date from "server": ' + dateFromServer;
// output difference between time "now" in Asia Kolkata, and the UTC version of the server date
result.innerHTML = nowInKolkata.from(moment.utc(dateFromServer));

<强> JSFIDDLE