使用PHP创建日期以适合HTML输入类型日期

时间:2013-11-04 03:24:50

标签: php date datetime strtotime mktime

我将日期存储在coupon mysqldatetime表中。我的日期存储在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

  • 问题是,它在表单中显示日期,并在保存后没有对日期进行任何更改。日期将在1天后保存。 2013-11-03 00:00:00

每次点击编辑并保存而不对日期进行任何更改。它回归1天: - 2013-11-02 00:00:00 - &gt; 2013-11-01 00:00:00 - &gt;等等。

1 个答案:

答案 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。)

快乐编码: - )