我想制作自定义时间戳。我需要将时间的分钟四舍五入到 00 或 30。我已经为此编写了一个 PHP 代码:
if (date("i") >= '15' && date("i") < '45') {
$minute = "30";
}
else {
$minute = "00";
}
但是,现在,我想制作带有时间+日期的时间戳。
有人对此有解决方案吗?我想我需要使用 strptime 但我不知道究竟如何..
您可以使用 mktime 生成一个四舍五入到最接近 30 分钟的时间戳:
echo date('Y-m-d H:i:s', mktime(date('H'), round(date('i') / 30) * 30, 0));
这里的例子:
以下代码片段:
<?php
date_default_timezone_set('America/New_York');
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);
print_r(strptime($strf, $format));
?>
产生这个输出:
Array
(
[tm_sec] => 49
[tm_min] => 48
[tm_hour] => 8
[tm_mday] => 14
[tm_mon] => 3
[tm_year] => 113
[tm_wday] => 0
[tm_yday] => 0
[unparsed] =>
)
我想你可以从这里拿走。