【问题标题】:DATETIME / timezone?日期时间/时区?
【发布时间】:2012-07-19 06:15:45
【问题描述】:

我正在使用它来将 DATETIME 存储在 mysql 中

validation.php

//more code
$date = new DateTime("2012-01-01 23:59:59", new DateTimeZone('Europe/Paris'));
$dt = $date->format('Y-m-d H:i:s');

//and I am posting into my DATETIME field:

Insert...Value($dt)

1.. 我没有收到任何错误,但发布的日期/时间是 0000-00-00 00-00-00

我做错了什么?

2.. 有没有办法存储格式为 DD-MM-YYYY 的日期?

【问题讨论】:

标签: php mysqli


【解决方案1】:

您可以在存储到数据库之前使用 PHP 设置时区

$date = new DateTime("2012-07-05 16:43:21", new DateTimeZone('Europe/Paris')); 

【讨论】:

  • 所以如果我使用$date = new DateTime("2012-07-05 16:43:21", new DateTimeZone('UTC+2')); 然后发布 $dt 存储的时间将是 UTC+2 格式?这个“2012-07-05 16:43:21”可以是什么?
  • 是的,你是对的。但是你不能写“UTC+2”你有你的时区名称,比如“欧洲/巴黎”
  • 我添加了你告诉我的那行,但现在我得到错误 Object of class DateTime could not be converted to string
  • 它对我来说非常简单 $date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));回声 $date->format('Y-m-d H:i:sP') 。 "\n";
【解决方案2】:

你必须发帖

$var_date = $date->format('Y-m-d H:i:sP') 

不是直接$date

【讨论】:

    【解决方案3】:

    是不是...正确的语法是:

    $date = new DateTime(null, new DateTimeZone('Europe/Paris')); 
    $dt = $date->format('Y-m-d H:i:sP');
    

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多