我有一个 AngularJS,我可以从后端服务调用中获取日期值。我从后端收到的日期是一个字符串。例如。 “2017-04-13”。当我尝试在 UI 上显示此内容时,javascript 会将其转换为本地时间“2017-04-12 17:00:00 CST”,因为它在 UI 上显示为休息日。我想要实现的是显示“2017-04-13 12:00:00 EST”或“2017-04-13 12:00:00 PST”或“2017-04-13 12:00:00 CST” "等基于客户的时区。这样日期就不会更改,并且 UI 上不会显示休息日。我怎样才能在 Javascript 中实现这一点。是否需要 Moment.js 和 moment-timezone.js 来实现此目的?
最佳答案
不,不需要 Moment.js。我遇到了同样的问题,并决定使用 $filter
更改日期的格式,以允许 Javascript 日期解析器以不同的方式解析它:
var correctDate = new Date($filter('date')(backEndDate, 'MMMM d, yyyy'));
所以不要解析:
new Date('2017-04-13') // Wed Apr 12 2017 19:00:00 GMT-0500 (Central Daylight Time)
您正在解析:
new Date('April 13, 2017'); //Thu Apr 13 2017 00:00:00 GMT-0500 (Central Daylight Time)
关于javascript - 如何在 JavaScript 中将日期转换为本地等效日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43399263/