今天特定时间的Unix时间戳

时间:2016-12-01 08:06:49

标签: php date unix time

我正在使用此代码在php中获取当前的unix时间。

echo time();

它正在给我这个结果

1480578383

如果我在可读日期转换它,那么它将是

Thu, 01 Dec 2016 07:46:23 GMT

好吧,我不想那样。我想要的是一个功能,可以给我今天的日期,具体时间是23:00:00。

当我将其转换为可读日期时,它应该是

Thu, 01 Dec 2016 23:00:00 GMT

“星期四,2016年12月1日”是当前日期。

1 个答案:

答案 0 :(得分:2)

我会假设规范是:

  

今天23:00:00获取当前时区

代码看起来像这样:

mktime(23, 0, 0);

......或:

strtotime('today 23:00:00')

......或只是:

strtotime('23:00:00')

Test code

$time_zones = array(
    'America/Chicago',
    'GMT',
    'Europe/Berlin',
);
foreach($time_zones as $time_zone){
    date_default_timezone_set($time_zone);
    $t1 = mktime(23, 0, 0);
    $t2 = strtotime('today 23:00:00');
    $t3 = strtotime('23:00:00');
    echo date('r', $t1) . ' / ' . date('r', $t2) . ' / ' . date('r', $t3) . PHP_EOL;
}
Fri, 02 Dec 2016 23:00:00 -0600 / Fri, 02 Dec 2016 23:00:00 -0600 / Fri, 02 Dec 2016 23:00:00 -0600
Fri, 02 Dec 2016 23:00:00 +0000 / Fri, 02 Dec 2016 23:00:00 +0000 / Fri, 02 Dec 2016 23:00:00 +0000
Fri, 02 Dec 2016 23:00:00 +0100 / Fri, 02 Dec 2016 23:00:00 +0100 / Fri, 02 Dec 2016 23:00:00 +0100

请在mktime()strtotime()手册页中找到更多详细信息。