【发布时间】:2018-08-30 13:01:35
【问题描述】:
我正在修复一个使用 moment.js 2.0.0 和 angular 材料的 angularjs 应用程序的错误。
当我将日期设置为我的日期选择器时,日期总是比正确日期晚一天(例如,如果我设置 23/11,传递给服务器的字符串是 22/11)。
我已经看到这个问题已经在 stackoverflow 上遇到了很多时间,比如这里 https://stackoverflow.com/a/9509425/1948785
这似乎是一个时区问题,因为我的网络应用正在使用 moment.js 2.0.0,所以我需要知道如何使用该版本设置时区。
探索 moment.js 我找不到 moment.tz 方法。
这是我的 div:
<md-input-container class="col-xs-6 col-md-3">
<label>Opening date</label>
<md-datepicker ng-disabled="..." name="Openingdate" ng-model="dealer.openingDate" aria-label="Opening date" ng-model-options="{ timezone: 'utc' }">
Opening date
<div ng-messages="..." ng-show="...">
<div ng-message="required">...</div>
</div>
</md-datepicker>
</md-input-container>
openingDate 由日期选择器设置,然后以这种方式通过邮寄方式发送:
if(!dealer) {
throw new Error('Invalid parameters.');
}
config_post.url = actions.create_dealer;
config_post.data = {};
config_post.data['dealer'] = dealer;
return $http(config_post);
如果我在调用此帖子之前通过 chrome 开发工具进行调试,则日期已经错误(-1 天)
【问题讨论】:
-
请添加
dealer.openingDate设置代码和dealer.openingDate值设置发送代码(即您的控制器和服务代码)。 -
我添加了这些信息,谢谢
标签: javascript angularjs datepicker angular-material