我想问一下如何为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()函数可用的所有选项进行格式化。格式上的主要错误是yY之间的差异,即两个数字中的年份与四个数字中的年份之间的差异。

其次,您说您想添加正确的时区。但是,这有点奇怪,因为您总是想添加相同的时区。如果您想传达所有日期均为澳大利亚/珀斯的事实作为信息,为什么不在文本之后简单添加呢?

如果您是说这是一个问题,因为您将信息存储在其他时区开始,因此存在转换问题,则可以在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/

10-13 07:40
查看更多