3 回答
TA贡献2021条经验 获得超8个赞
似乎从UTC日期开始最简单的方法是创建一个新Date
对象并使用这些setUTC…
方法将其设置为您想要的日期/时间。
然后各种toLocale…String
方法将提供本地化输出。
例:
// This would come from the server.
// Also, this whole block could probably be made into an mktime function.
// All very bare here for quick grasping.
d = new Date();
d.setUTCFullYear(2004);
d.setUTCMonth(1);
d.setUTCDate(29);
d.setUTCHours(2);
d.setUTCMinutes(45);
d.setUTCSeconds(26);
console.log(d); // -> Sat Feb 28 2004 23:45:26 GMT-0300 (BRT)
console.log(d.toLocaleString()); // -> Sat Feb 28 23:45:26 2004
console.log(d.toLocaleDateString()); // -> 02/28/2004
console.log(d.toLocaleTimeString()); // -> 23:45:26
一些参考:
TA贡献1795条经验 获得超7个赞
对于新项目,只需使用moment.js
这个问题已经过时了,所以当时并不存在moment.js,但对于新项目,它简化了很多这样的任务。
最好从UTC 解析日期字符串,如下所示(在服务器上创建一个ISO-8601兼容字符串,以便在所有浏览器中获得一致的结果):
var m = moment("2013-02-08T09:30:26Z");
现在只需m
在您的应用程序中使用,moment.js默认为本地时区进行显示操作。有许多方法可以格式化日期和时间值或提取部分值。
您甚至可以在用户区域设置中格式化一个时刻对象,如下所示:
m.format('LLL') // Returns "February 8 2013 8:30 AM" on en-us
要将moment.js对象转换为不同的时区(即既不是本地时区也不是UTC),您将需要moment.js时区扩展。该页面还有一些示例,使用起来非常简单。
添加回答
举报