javascript - 如何在 JavaScript 中将日期转换为本地等效日期

标签 javascript angularjs date momentjs

我有一个 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/

相关文章:

javascript - 在 AngularJS 中使用 ng-repeat 渲染 HTML 值时出现问题

actionscript-3 - 输入文本字段日期掩码

javascript - 如何自引用 NodeJS 模块?

javascript - 使用 script_queue 执行 JS 函数时的执行顺序

javascript - 没有大气数据的谷歌地图自动完成

javascript - 仅选择 md-data-table 中的一行

javascript - 带有自定义选项模板的 Angular 选择

javascript - 如何将天数添加到今天的日期?

Python date.today() 不返回本地日期

javascript - javascript 执行上下文中的作用域