Php 如何仅在特定时间后显示变量
上面的代码所做的最终是通过ajax请求计时器(如果存在匹配项)向javascript提供一个日期,该日期根据按下的链接(无论是est、pst、cst还是mst)而定。唯一的匹配方法是,如果当前日期和时间+7天与数组中的某个值匹配,但我意识到。。。。我做得很严格。让我解释一下“太严格”是什么意思。假设在日期和时间数组中有一个值2015/11/21 20:30:00,当前日期和时间是2015/11/21 20:30:01,上述代码不匹配。我需要知道的是如何允许上面的代码在20:30:00之后而不是之前进行匹配。我希望我解释得足够好 谢谢马克斯顿给了我一个提示。我终于得到了我想要的!!!! 我使用strotime将当前日期和时间转换为时间戳,将当前日期和特定时间转换为时间戳,并进行整数比较。同时还考虑了时区差异 未来读者代码:Php 如何仅在特定时间后显示变量,php,Php,上面的代码所做的最终是通过ajax请求计时器(如果存在匹配项)向javascript提供一个日期,该日期根据按下的链接(无论是est、pst、cst还是mst)而定。唯一的匹配方法是,如果当前日期和时间+7天与数组中的某个值匹配,但我意识到。。。。我做得很严格。让我解释一下“太严格”是什么意思。假设在日期和时间数组中有一个值2015/11/21 20:30:00,当前日期和时间是2015/11/21 20:30:01,上述代码不匹配。我需要知道的是如何允许上面的代码在20:30:00之后而不是之
<?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);
}
}
?>
您只能匹配日期…该死的,反正thx:(我不完全清楚代码在做什么,但听起来您应该能够将两个日期转换为UNIX时间戳,并对它们进行简单的整数比较。这也将简化您正在进行的所有奇怪的时区转换
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!!";
}