【问题标题】:Exclude weekends from strtotime从 strtotime 中排除周末
【发布时间】:2015-11-18 17:31:09
【问题描述】:

我只想在这个 sn-p 中显示工作日(周一、周二、周三、周四、周五):<?=date('D M, d', strtotime('+3 days'))?>



我不知道要在 StackOverflow 中搜索什么。我对“根据工作日计算未来日期”或“检查日期是否为周末 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 将在周三返回。

标签: php


【解决方案1】:

如果你只想要工作日,那么 strtotime 可以做到这一点。

date('D M, d', strtotime('+3 weekdays'))

相对日期/时间格式: http://www.php.net/manual/en/datetime.formats.relative.php

【讨论】:

  • 这似乎工作得很好。 weekdays 是否认为星期五是工作日?
  • 是的,工作日包括周一至周五。
猜你喜欢
  • 1970-01-01
  • 2017-07-23
  • 2017-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 2013-03-01
相关资源
最近更新 更多