<?php
ini_set('date.timezone', 'America/New_York');
require_once '../init.php';
$dates = ['2015/11/29 21:28:00'];
$tz = $_POST['tz'];
$timestamp = strtotime("+1week");
$one_week = date("Y/m/d G:i:s", $timestamp);
$key = array_search($one_week, $dates);
if($tz == 'est'){
if(false !== $key){
echo html_escape($dates[$key]);
}
}elseif($tz == 'pst'){
if(false !== $key){
$old_date = strtotime($dates[$key]);
$new_date = strtotime("-3 hour", $old_date);
$date = date("Y/m/d G:i", $new_date);
echo html_escape($date);
}
}elseif($tz == 'cst'){
if(false !== $key){
$old_date = strtotime($dates[$key]);
$new_date = strtotime("-1 hour", $old_date);
$date = date("Y/m/d G:i:s", $new_date);
echo html_escape($date);
}
}elseif($tz = 'mst'){
if(false !== $key){
$old_date = strtotime($dates[$key]);
$new_date = strtotime("-2 hour", $old_date);
$date = date("Y/m/d G:i:s", $new_date);
echo html_escape($date);
}
}
?>
上面的代码正在做的是最终提供一个日期,根据哪个链接被按下,无论是est,pst,cst还是mst,通过ajax请求定时器,如果有匹配的话。匹配的唯一方法是,如果当前日期和时间+7天匹配数组中的值,但我意识到了一些事情......我把它做得严格。让我解释一下我的意思&#34;太严格&#34;。可以说在日期和时间的数组中有一个值2015/11/21 20:30:00,当前日期和时间是2015/11/21 20:30:01,上面的代码不会匹配。我需要知道的是如何允许上面的代码在20:30:00之后而不是之前进行匹配。我希望我解释得很好。
答案 0 :(得分:0)
感谢Maxton给我一个提示。我终于得到了我想要的东西!!!! 我使用strtotime将当前日期和时间转换为时间戳,并将当前日期和特定时间转换为时间戳并进行整数比较。虽然仍然考虑到时区差异。
未来读者代码:
ini_set('date.timezone', 'America/Los_Angeles');
$cur_time = strtotime(date("Y/m/d G:i:s"));
$time = strtotime(date("Y/m/d 13:55:00"));
if($cur_time > $time){
echo 'Yeah!!';
}else{
echo "Boo!!";
}