从 strtotime 中排除周末
Posted
技术标签:
【中文标题】从 strtotime 中排除周末【英文标题】:Exclude weekends from strtotime 【发布时间】:2015-11-18 17:31:09 【问题描述】:我只想在这个 sn-p 中显示工作日(周一、周二、周三、周四、周五):<?=date('D M, d', strtotime('+3 days'))?>
我不知道要在 *** 中搜索什么。我对“根据工作日计算未来日期”或“检查日期是否为周末 php”的搜索没有产生我能理解的继续前进的内容。
用例:作为客户,我想知道我多久能收到服务。此代码将显示我何时可以获得服务,3 个工作日(即使是节假日)。
我找到了这个,http://php.net/manual/en/intlcalendar.getdayofweektype.php,但我仍然卡住了:(
【问题讨论】:
没有任何原生 PHP 函数可以为您执行此操作,但我在 PHPExcel 中实现了 MS Excel NETWORKDAYS() function,它可以执行此操作.... github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/… 如果您说+3 days
,这是否意味着如果日期是周末,您想提前到周一,还是根本不想计算周末?例如,如果是星期四,你说+3 days
,这算Friday, Saturday, Sunday
并更改为Monday
还是只算Friday, Monday, Tuesday
并返回星期二?
感谢您的澄清问题。我只想在工作日(周一、周二、周三、周四、周五)提前。周六 +3 将在周三返回。
【参考方案1】:
如果你只想要工作日,那么 strtotime 可以做到这一点。
date('D M, d', strtotime('+3 weekdays'))
相对日期/时间格式: http://www.php.net/manual/en/datetime.formats.relative.php
【讨论】:
这似乎工作得很好。weekdays
是否认为星期五是工作日?
是的,工作日包括周一至周五。以上是关于从 strtotime 中排除周末的主要内容,如果未能解决你的问题,请参考以下文章