Php 如何获取上一个';凌晨4点';?
我想获得前一个“上午4点”的时间(标准时间()格式),单位为秒 我的第一次尝试是:Php 如何获取上一个';凌晨4点';?,php,time,Php,Time,我想获得前一个“上午4点”的时间(标准时间()格式),单位为秒 我的第一次尝试是:mktime(4,0,0) 这适用于一天中的每个时间,除了00:00和04:00之间,因为它将给出下一个“凌晨4点”的时间 那么我该如何解决这个问题呢 如果你创造的时间是在未来,减去一天。如果你创造的时间是在未来,减去一天。很好。我以为你必须做$results=strottime(“昨天”)+(60*60*4);但是它的工作原理更加优雅。strotime()是一个非常神奇的函数。如果时间是[0:00,4:00],
mktime(4,0,0)
这适用于一天中的每个时间,除了00:00和04:00之间,因为它将给出下一个“凌晨4点”的时间
- 那么我该如何解决这个问题呢
$now = new DateTime();
$fourAm = new DateTime('today 4am');
if ($now < $fourAm) {
$time = strtotime('yesterday 4am');
} else {
$time = $fourAm->getTimestamp();
}
$now = new DateTime();
$fourAm = new DateTime('today 4am');
if ($now < $fourAm) {
$time = strtotime('yesterday 4am');
} else {
$time = $fourAm->getTimestamp();
}
$now = time();
$fourAm = strtotime('today 4am');
if ($now < $fourAm) {
$time = strtotime('yesterday 4am');
} else {
$time = $fourAm;
}