我将日期存储在coupon
mysql
类datetime
表中。我的日期存储在mysql
表格中: -
2013-11-04 00:00:00
而editing
通过HTML表单。我正在获取价值并将价值放在HTML表单中,如下所示: -
<input id="unlisted" type="date" name="coupon" class="input-large"
value="<?php echo gmdate('Y-m-d' ,strtotime($edit['coupon'])); ?>" />
其中$edit['coupon'] = 2013-11-04 00:00:00
2013-11-03 00:00:00
。每次点击编辑并保存而不对日期进行任何更改。它回归1天: - 2013-11-02 00:00:00
- &gt; 2013-11-01 00:00:00
- &gt;等等。
答案 0 :(得分:0)
问题可能是由于时区不同造成的。 PHP安装的默认时区与实际位置不同。要解决此问题,您只需设置默认时区或将其设置为特定的函数调用。
您可以通过编辑php.ini
来设置PHP安装的默认时区。您还可以通过编程方式更改默认时区:
date_default_timezone_set('Europe/Stockholm');
在特定电话上设置时区:
strtotime($date_str . ' ' . $timezone);
您还可以检查您的默认时区:
date_default_timezone_get();
如您所见'Europe / Stockholm'是代表时区的字符串。有关完整的时区列表,您可以参考PHP手册上的List of supported timezones。
(如果您使用PHP&gt; 5.2,则可以使用DateTime而不是strtotime。)
快乐编码: - )