如果给出当天的随机时间戳,有一种简单的方法可以获得一天的unix时间范围吗?

Mih*_*iac 0 php time

如果给出当天的随机时间戳,有一种简单的方法可以获得一天的unix时间范围吗?我有一个像1345547471这样的日期,是"星期二,2012年8月21日11:11:11 GMT"

有一个PHP函数,可以接收这样的时间戳,并返回00:00小时的时间戳和当天的23:59小时时间戳?

谢谢.

nic*_*ckb 6

当然,DateTime可以这样做:

$time = 1345547471;
$date = new DateTime;
// $date->setTimezone( new DateTimeZone( "America/New_York")); // Can set TZ here if needed
$date->setTimestamp( $time);
Run Code Online (Sandbox Code Playgroud)

现在,您可以将时间设置为您想要的任何内容:

$date->setTime( 0, 0, 0); // 0h 0m 0s
Run Code Online (Sandbox Code Playgroud)

并获取生成的UNIX时间戳:

$timestamp = $date->getTimestamp();
Run Code Online (Sandbox Code Playgroud)

下一个用例也是如此:

$date->setTime( 23, 59, 0);
$timestamp = $date->getTimestamp();
Run Code Online (Sandbox Code Playgroud)

值得注意的是,DateTime将正确处理夏令时和当地时间不连续的情况.


Flu*_*feh 6

您可以使用mod(在分割后给出余数)这样的PHP函数来获取Unix时间戳的第一秒(即今天0:00:00)

$var=time()-(time()%86400);
Run Code Online (Sandbox Code Playgroud)

然后使用此unix timstamp,您可以添加86399以获取当天的最后一秒.

编辑:这不考虑dalylight节省.