日期范围选择器选择前一天的日期
date-range picker picks date of the day before
我正在使用 angular 日期范围选择器来选择一个日期,这是我的 html 的样子:
<input date-range-picker ng-model="model" options="{singleDatePicker: true}"
class="form-control date-picker" type="text"/>
现在当我 select 日历弹出一个日期时,它 select 显然是日期,但是当它发送到后端时,它实际上是前一天的日期。即,如果我 select 28-02-2020
它将发送 27-02-2020
。另外,我只希望日期选择器只发送日期,目前它发送的是这样的:
2020-02-27T19:00:00.000Z
我在这里做错了什么?有帮助吗?
您可以使用以下方式将您的时区添加到日期,
var d = new Date('yourDate');
d.setMinutes( d.getMinutes() + d.getTimezoneOffset() );
'd' should be the correct date
或
您也可以通过简单地执行 'Your Date'.toISOString()
来检查
使用 AngularJS,日期选择器需要将 ng-model-options
时区设置为 UTC:
<input type="date" ng-model="pickedDate" ng-model-options="{timezone: 'utc'}">
有关详细信息,请参阅
演示
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app>
<h1>Hello Plunker!</h1>
<input type="date" ng-model="pickedDate" ng-model-options="{timezone: 'utc'}">
<br>
pickedDate={{pickedDate}}
</body>
我正在使用 angular 日期范围选择器来选择一个日期,这是我的 html 的样子:
<input date-range-picker ng-model="model" options="{singleDatePicker: true}"
class="form-control date-picker" type="text"/>
现在当我 select 日历弹出一个日期时,它 select 显然是日期,但是当它发送到后端时,它实际上是前一天的日期。即,如果我 select 28-02-2020
它将发送 27-02-2020
。另外,我只希望日期选择器只发送日期,目前它发送的是这样的:
2020-02-27T19:00:00.000Z
我在这里做错了什么?有帮助吗?
您可以使用以下方式将您的时区添加到日期,
var d = new Date('yourDate');
d.setMinutes( d.getMinutes() + d.getTimezoneOffset() );
'd' should be the correct date
或
您也可以通过简单地执行 'Your Date'.toISOString()
使用 AngularJS,日期选择器需要将 ng-model-options
时区设置为 UTC:
<input type="date" ng-model="pickedDate" ng-model-options="{timezone: 'utc'}">
有关详细信息,请参阅
演示
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app>
<h1>Hello Plunker!</h1>
<input type="date" ng-model="pickedDate" ng-model-options="{timezone: 'utc'}">
<br>
pickedDate={{pickedDate}}
</body>