在PHP中,这个值最快(最有效)的方法是什么? time()给我带有日期和时间的完整时间戳
答案 0 :(得分:2)
最短的代码版本是
$midnight = strtotime("today midnight");
至于效率,你必须对它进行基准测试。 strtotime是一个巨大的野兽,虽然这个代码很紧凑,但内部可能有成千上万行代码来完成DateTime对象的几行代码。
答案 1 :(得分:1)
使用strtotime()
,您可以:
$today = strtotime('00:00:00');
var_dump($today);
var_dump(date('Y-m-d H:i:s', $today));
你会得到以下输出:
int 1301436000
string '2011-03-30 00:00:00' (length=19)
或者,使用DateTime
类:
$dt = new DateTime('00:00:00');
var_dump($dt->format('U'));
var_dump($dt->format('Y-m-d H:i:s'));
将获得该输出:
string '1301436000' (length=10)
string '2011-03-30 00:00:00' (length=19)
答案 2 :(得分:1)
在使用strtotime()
之前,请确保您的服务器的PHP配置设置了正确的时区。
测试
echo date_default_timezone_get();
如果您在其他国家/地区使用localhost(有时)或服务器,则可能会出现问题。时间戳不会观察时区设置,但功能 strtotime()当然可以!
如果需要,请在使用strtotime()
,date()
之类的内容之前从代码设置时区
date_default_timezone_set('America/New_York');
INJOY
答案 3 :(得分:0)
你想把它修改成一个字符串吗?退房日期()