是否有一个PHP函数,返回日期和时间在相同的格式MySQL函数NOW()?
我知道如何使用date()来做到这一点,但我在问是否有一个函数仅用于此。
例如,返回:
2009-12-01 00:00:00
是否有一个PHP函数,返回日期和时间在相同的格式MySQL函数NOW()?
我知道如何使用date()来做到这一点,但我在问是否有一个函数仅用于此。
例如,返回:
2009-12-01 00:00:00
当前回答
我一直在寻找同样的答案,我已经提出了这个解决方案,适用于PHP 5.3或更高版本:
$dtz = new DateTimeZone("Europe/Madrid"); //Your timezone
$now = new DateTime(date("Y-m-d"), $dtz);
echo $now->format("Y-m-d H:i:s");
其他回答
MySQL函数NOW()返回当前时间戳。我发现PHP的唯一方法是使用下面的代码。
$curr_timestamp = date('Y-m-d H:i:s');
没有内置的PHP now()函数,但可以使用date()来实现。
例子
function now() {
return date('Y-m-d H:i:s');
}
如果需要更改时区,可以使用date_default_timezone_set()。
否则,您可以使用Carbon -一个简单的PHP API扩展DateTime。
你可能会发现这很有用
new \DateTime()
在PHP中,与MySQL的now()函数等价的逻辑是time()。
但是time()返回的Unix时间戳与MySQL DATETIME不同。
因此,必须将time()返回的Unix时间戳转换为MySQL格式。
你可以这样做: 日期(“Y-m-d H:我:”);
但是date()函数中的time()在哪里呢?它是第二个参数:事实上,你应该为date()提供一个时间戳作为第二个参数,但如果省略它,它将默认为time()。
这是我能想到的最完整的答案。
问候。
使用 strftime:
strftime("%F %T");
%F等于%Y-%m-%d。 %T与%H:%M:%S相同。
这是ideone上的一个演示。