【问题标题】:How to get the timestamp range of this hour?如何获取这一小时的时间戳范围?
【发布时间】:2010-04-21 01:56:47
【问题描述】:

如何获取当前小时的 UNIX 时间戳范围,我的意思是第一秒和最后一秒。所以如果是 18:45,我会得到 18:00 和 18:59 的时间戳。

谢谢

【问题讨论】:

    标签: php date timestamp


    【解决方案1】:

    getdate()可以获取当前时间的分量,mktime()可以查询时间戳:

    $date = getdate();
    $start = mktime($date['hours'], 0, 0);
    $end = $start + (60*60);
    

    也可以使用date(),稍微简单一些:

    $start = mktime(date("H"), 0, 0);
    $end = $start + (60*60);
    

    【讨论】:

    • 要真正获得最后一秒,您应该添加(60 * 60) - 1
    【解决方案2】:
    $start = mktime(date('H'), 0, 0);
    $end = mktime(date('H'), 59, 59);
    

    可以推广到任何时间戳,而不仅仅是当前时间,如:

    $time = time(); // some timestamp
    $start = mktime(date('H', $time), 0, 0, date('n', $time), date('j', $time), date('Y', $time));
    $end = mktime(date('H', $time), 59, 59, date('n', $time), date('j', $time), date('Y', $time));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-07
      • 2019-07-02
      • 1970-01-01
      相关资源
      最近更新 更多