Javascript 从UTC字符串创建力矩对象
我将从我的Web服务中获得UTC日期字符串,如下所示:Javascript 从UTC字符串创建力矩对象,javascript,date,momentjs,utc,Javascript,Date,Momentjs,Utc,我将从我的Web服务中获得UTC日期字符串,如下所示: “2015-06-06T12:30:12Z” 我需要按照以下两条规则显示它: 如果日期1周,则显示日期YYYY-DD-MM 现在我试图构建一个瞬间对象,但似乎返回了一些奇怪的东西: var sDate = "2015-06-06T12:30:12Z"; var momentDate = moment(sDate); var fromNow = momentDate.fromNow(); console.log("momentDate : "
“2015-06-06T12:30:12Z”
我需要按照以下两条规则显示它:
YYYY-DD-MM
var sDate = "2015-06-06T12:30:12Z";
var momentDate = moment(sDate);
var fromNow = momentDate.fromNow();
console.log("momentDate : " + momentDate); // 1433593812000
console.log("fromNow : " + fromNow); // 11å°æ™‚å‰
你知道如何做到这一点吗
谢谢。您只是遇到了一个bug,已经登录为 简单地说,它使用最后加载的语言环境(“zh tw”),而不是默认为英语 只需在加载力矩之后,但在任何地方使用它之前,调用add下面的行
moment.locale('en');
这将使语言回到英语
这解释了
fromNow
字符串的输出。另一个输出是因为您将矩对象直接连接到另一个字符串,该字符串隐式调用.valueOf()
,该字符串以毫秒为单位返回基于UTC的时间戳。您应该改为使用.format()
,可能带有一个参数,如.format(“YYYY-MM-DD”)
——如果这是您希望看到的输出格式。这很奇怪,但我在JSFIDLE中执行了您的代码(原样),一切似乎都很好:[Log]momentDate:1433593812000[Log]从现在起:11小时前可能是页面或机器字符集的问题。@sviklim:谢谢。抱歉,我刚刚发现我在使用locale.js的时刻
。。。它不是包装了moment.js
?对不起,我没有使用locale.js的moment的经验;我曾经使用原始库版本