日期范围选择器选择前一天的日期

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>