首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Php检查时间字符串是否整点,如"8:00am“

Php检查时间字符串是否整点,如"8:00am“
EN

Stack Overflow用户
提问于 2015-11-10 03:35:34
回答 3查看 1.2K关注 0票数 1

我有一系列的时间字符串,比如"8:00am","8:15am","8:30am“,我也有这些时间的时间戳作为数组的键,因为时间是值,所以数组应该是这样的:

注意:在本例中,时间戳是虚拟的

代码语言:javascript
复制
array(
144441415=>"8:00am", 
1444784744=>8:30am
...
.....
);

我想知道小时是否整小时,例如“8:00 or”、“9:00 or”是整小时,但“8:45 or”或“9:30 or”则不是整小时。我想从上面提到的数组中过滤整个小时。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-10 03:53:59

谢谢你,Rudie,我能够从几秒钟中得到整个小时,谢谢你的提示,所以我做了这样的事情:

代码语言:javascript
复制
//Loop through each hour of the day by getting both key and value
foreach( $hours_of_day $timestamp=>$time_string )
{
    //If timestamp mod by number of seconds in hours is zero this means whole hour
    if( ($timestamp%3600) == 0 )
    {
        echo "Whole hour = $timestring<br />";
    }
}
票数 0
EN

Stack Overflow用户

发布于 2015-11-10 03:47:59

你可以这样做:

代码语言:javascript
复制
$times = array(
    144441415=>"8:00am", 
    1444784744=>"8:30am",
    1444784745=>"8:45am",
    1444784746=>"9:00am",
    1444784747=>"10:00am",

);

foreach ($times as $time) {
    if (date("H:00:00", strtotime($time)) == date("H:i:00", strtotime($time))) {
        echo '<br>Whole Hour: '.$time;
    }
    else {
        echo '<br>Not Whole Hour: '. $time;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2018-07-23 03:21:44

对于那些可能遇到这个问题的人来说,实现这一点的最佳方法是:

代码语言:javascript
复制
define("BR", "<br />");
$data = array(
    144441415=>"8:00am", 
    1444784744=>"8:30am"
);

$tmp_dto; 
$tmp_mins;

foreach($data as $hour){
    $tmp_dto = DateTime::createFromFormat("H:iA", $hour);
    $tmp_mins = $tmp_dto->format("i");
    if($tmp_mins == "00"){
        echo "ROUND".BR;
    } 
    else{
        echo "NOT ROUND".BR;
    }
}

输出

代码语言:javascript
复制
ROUND
NOT ROUND
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33616800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档