对于大家来说,这个问题可能非常简单。因为我还在为我学习php,所以稍微复杂一些,所以请放轻松。
是的,我正在尝试根据当前日期和时间计算下一个日期。我的意思是说我在每个星期六和星期六工作。我需要计算下一个工作日的时间。
我能够检索当前的一周,但无法弄清楚如何将每个星期四和星期日设置为我的工作日。
$date = date("Y-m-d",strtotime('monday this week')).' - '.date("Y-m-d",strtotime("sunday this week"));
我希望输出是这样的:
本周2014-05-12至2014-05-17
下一个工作日:2014-05-14
本周最后一个工作日:2014-05-17
答案 0 :(得分:0)
PHP中新的面向对象的包是你的朋友。使用日期时间:http://www.php.net/manual/en/class.datetime.php
<?php
$workDays = array("Thursday", "Saturday");
$d = new DateTime; //creates a datetime object, by default, the current time
while(!in_array($d->format("l"), $workDays)) $d->add(new DateInterval('P1D'));
print "Next work day: " . $d->format("Y-m-d");
答案 1 :(得分:0)
尝试在if语句中使用date('w')
为您提供当前工作日的数字表示,其中Sunday == 0。
if (date('w') < 4) { // Currently Sun-Weds
$next_wd_str = 'thursday this week';
$last_wd_string = 'saturday last week';
} elseif (date('w') > 4 && date('w') < 6) { //Currently Fri
$next_wd_str = 'saturday this week';
$last_wd_string = 'thursday this week'
} elseif (date('w') ==4) {
$next_wd_str = 'today';
$last_wd_string = 'saturday last week';
} else {
$next_wd_str = 'today';
$last_wd_string = 'thursday this week';
printf ('Next working day: ', date('Y-m-d', strtotime($next_wd_str));
printf ('Last working day: ', date('Y-m-d', strtotime($last_wd_str));