1

使用 Angular Material Datepicker,当我提交我得到的表单时:

2016-02-15T02:00:00.000Z

当我尝试使用 PHP 格式时,例如:

date('Y-m-d', strtotime($post['date']))

我有:

2016-02-14

当日期回到角度时:

success: function(data) { $scope.date = new Date(data.date); }

我有:

2016-02-13

那么,我做错了什么

[更新]

我把date_default_timezone_set($timezone);我的 index.php

所以在那之前我在做:

$str = date('d/m/Y', strtotime('+2 day', strtotime($post['date']))); $workaround = new Date($str);

现在我改为+1天

我猜 php 时区已经解决了其中一个问题。

4

1 回答 1

0

我认为这是由于您的时区更改。由于 datepicker 中的日期看起来像2016-02-15T02:00:00.000Z这意味着,它是特定于 UTC 的日期时间,当您将其发送到服务器时,它会使用您的时区将其转换为上一个日期。您可以在删除小数部分后将此日期发送到服务器,例如

2016-02-15T02:00:00

于 2016-02-06T20:51:08.707 回答