我有基于Javascript的应用程序(使用Nativescript),我正在使用它来做一些时间操作。我的服务器以下列字符串格式向我返回dtae次“9/14/2016 4:52:20 PM”哪些不是UTC。根据用户的位置,我想更改此字符串的时间戳以匹配其时区。所以我想在 EST 或“12:52 PM”中找到一个看似“4:52 PM”的字符串如果它是太平洋时区。我正在尝试使用MomentJS这样做,如下所示:
exports.dateTimeStamp = function(value) {
var utcDate = moment.utc(value);
var localDate = moment(utcDate).local();
var formatedDate = moment(localDate).format('LT');
return formatedDate;
};
不幸的是,这不能正常工作。截至目前如果我尝试这样做并且用户在**** EST(GMT-4:00)****并且我传入的字符串值等于“9/14/2016 4 :52:20 PM“我回来了”12:52 PM“而不是”4:52 PM“有人可以指出我的意思做错了?我的想法涉及到切换到UTC,但似乎从我读过的内容是必要的。
修改 我已经研究了Moment Timezone,但我认为这不会起作用,因为我的应用程序是全局的,似乎Timezone需要一个硬编码的国家/城市字符串传递给它。在我的情况下,在Android应用程序中使用Javascript。所以我从设备中获取了语言环境和文化信息。也许我只是不太了解如何使用它。