我想问一下如何为SQL添加datetime ('Y-m-d h:i:s')
格式字段。
我的表的名称是组,字段的名称是date_add
我正在使用PHP 3蛋糕,我想使用澳大利亚/珀斯的时区,但我不知道如何开始。
我成功显示使用添加了我的日期
$group->date_add = date("Y-m-d h:i:s");
但是,该时间的结果与时区不正确。
最佳答案
一般在PHP中的日期时间
根据DateTime的文档,您可以使用date()函数可用的所有选项进行格式化。格式上的主要错误是y
与Y
之间的差异,即两个数字中的年份与四个数字中的年份之间的差异。
其次,您说您想添加正确的时区。但是,这有点奇怪,因为您总是想添加相同的时区。如果您想传达所有日期均为澳大利亚/珀斯的事实作为信息,为什么不在文本之后简单添加呢?
如果您是说这是一个问题,因为您将信息存储在其他时区开始,因此存在转换问题,则可以在DateTime对象本身上设置正确的时区。但是,您需要确保以正确的原始时区开始构建DateTime对象。请遵循以下代码进行解释:
<?php
$DateTime = new DateTime(); // This is now Europe/Amsterdam for my laptop
var_dump($DateTime->format('dmY h:i e'));
// result of var_dump is: string(31) "13102015 12:00 Europe/Amsterdam"
$DateTime->setTimeZone(new DateTimeZone('Europe/London'));
var_dump($DateTime->format('dmY h:i e'));
// result of var_dump is: string(28) "13102015 11:00 Europe/London"
外卖:
e是时区的格式修饰符
使用PHP的DateTime对象可以进行时区转换。找出当前PHP安装中的默认时区,以查看是否需要转换。在此处查看有关date.timezone设置的信息:http://php.net/manual/en/datetime.configuration.php
蛋糕3.0专用
正如Oops D'oh在评论中指出的那样,还需要了解很多CakePHP特定的知识。由于他在这方面增加了出色的部分,因此我建议您也阅读一下。
关于mysql - 如何使用CakePHP 3.0显示日期时间形式的MySQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33098968/