Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 日期时间/时区?_Php_Mysqli - Fatal编程技术网

Php 日期时间/时区?

Php 日期时间/时区?,php,mysqli,Php,Mysqli,我用它在mysql中存储DATETIME 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) 一,。。我没有收到任何错误,但发布的

我用它在mysql中存储DATETIME

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)
一,。。我没有收到任何错误,但发布的日期/时间是0000-00-00-00-00

我做错了什么


二,。。是否有方法存储格式为DD-MM-YYYY的日期?

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

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

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

不是直接$date做的。。。正确的语法是:

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

@DainisaTools你有什么建议吗?如果我使用
$date=newdatetime(“2012-07-05 16:43:21”,newdatetimezone(“UTC+2”)然后过账$dt存储的时间将采用UTC+2格式?这个“2012-07-05 16:43:21”可以是任何东西?是的,你是对的。但是你不能写“UTC+2”,你已经得到了你的时区名称,比如“Europe/Paris”,我添加了你告诉我的行,但是现在我得到了类DateTime的错误对象,无法转换为stringit,它对我来说非常简单$date=new DateTime('2000-01-01',new DateTimeZone('Pacific/Nauru');echo$date->format('Y-m-dh:i:sP')。“\n”;