处理PHP日期和未来日期



我想问大家一个很简单的问题。因为我还在学习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

PHP中新的面向对象包是您的朋友。使用DateTime: 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");

尝试在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));

相关内容

  • 没有找到相关文章

最新更新