【问题标题】:Timestamp with Custom Minute带有自定义分钟的时间戳
【发布时间】:2013-04-06 14:52:46
【问题描述】:

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

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

else {
    $minute = "00";
}

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

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

【问题讨论】:

  • 你检查过mktime()吗?

标签: php date time timestamp


【解决方案1】:

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

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

这里的例子:

http://codepad.org/3NCeWO21

【讨论】:

  • 谢谢!但是我现在如何将其转换为时间戳?
  • mktime() 返回一个时间戳。只需将其分配给一个变量:$timestamp = mktime(date('h'), round(date('i') / 30) * 30, 0)
  • 完美运行!谢谢:))
【解决方案2】:

以下代码sn-p:

<?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] => 
)

我想你可以从这里拿走。

【讨论】:

    猜你喜欢
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    相关资源
    最近更新 更多