2

我想制作自定义时间戳。我需要将时间的分钟四舍五入到 00 或 30。我已经为此编写了一个 PHP 代码:

if (date("i") >= '15' && date("i") < '45') {
    $minute = "30";
}

else {
    $minute = "00";
}

但是,现在,我想制作带有时间+日期的时间戳。

有人对此有解决方案吗?我想我需要使用 strptime 但我不知道究竟如何..

4

2 回答 2

3

您可以使用 mktime 生成一个四舍五入到最接近 30 分钟的时间戳:

echo date('Y-m-d H:i:s', mktime(date('H'), round(date('i') / 30) * 30, 0));

这里的例子:

http://codepad.org/3NCeWO21

于 2013-04-14T12:42:03.190 回答
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] => 
)

我想你可以从这里拿走。

于 2013-04-14T12:49:15.157 回答