如果超过EST的某个时间,则回显PHP日期

时间:2016-02-21 23:48:16

标签: php date datetime

我每天都在美国东部时间6点开展在线培训,我希望它能在我的网站上列出,而不必每天都进去并更改代码。

目前,我只是显示“明天”的日期,无论何时有人进入该页面:

<?php echo(date( 'l, M j', time()+86400 ) );?> / 6pm EST

但是,我希望它能够显示今天的日期,直到美国东部时间下午6点,然后显示明天的日期,直到美国东部时间午夜,直到今天的日期。

即。它会在今天下午6点开始训练,然后显示下一次训练。

我已经尝试了所有我能想到的东西,但我不擅长PHP

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:2)

// Set timezone
date_default_timezone_set('America/New_York');

// Today
$timestamp = time();

// If after 6pm, add a day
if (date('H') >= 18) {
    $timestamp = strtotime('+1 day', $timestamp);
}

// Display
echo(date( 'l, M j', $timestamp));

演示:http://codepad.org/p9OSXBx1

或者单行:

echo date('l, M j', strtotime(date('H') > 17 ? '+1 day' : 'now'));

演示:http://codepad.org/xt978RbY