time()with clearTime - 就在今天上午12:00

时间:2011-03-30 20:14:12

标签: php date datetime

在PHP中,这个值最快(最有效)的方法是什么? time()给我带有日期和时间的完整时间戳

4 个答案:

答案 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)

你想把它修改成一个字符串吗?退房日期()

http://php.net/manual/en/function.date.php