【问题标题】:PHP print/store specific day datePHP打印/存储特定日期
【发布时间】:2016-12-17 15:05:35
【问题描述】:

我在 PHP 中定义打印和存储特定星期几时遇到了一些困难。已生效:

从当前日期时间开始的周五下个午夜之后的下周二。

这适用于在线订单,流程如下:

订单将在午夜星期五的截止时间之前接受;和 下周二送达。

我不能只使用下周二,因为周六和周二之间的订单将在下周交付。

有什么想法/建议吗?

一旦我有了这个核心,我将需要针对不同的运输区域或允许公共假期进行一些调整 - 可能通过 CSV 文件。

谢谢。

【问题讨论】:

  • 您所说的“从当前日期时间开始的周五下个午夜之后的下周二”是什么意思。
  • 示例:如果 now=friday,则距离星期五午夜后的下一个星期二 +4 天。第二天,星期六,星期五午夜后的下一个星期二将是 +10 天。

标签: php


【解决方案1】:

这样的变体应该可以满足您的需求:

$now       = new DateTimeImmutable();
$dayOfWeek = $now->format("w");
$addDays   = new DateInterval("P" . ($dayOfWeek == 6?10:9 - $dayOfWeek) . "D");
print $now->add($addDays)->format("Y/M/d");

使用的概念方法:识别“现在”。确定“现在”是一周中的哪一天。打印下一个最近的星期五之后的星期二的日期。

补充说明:

  1. 如果 $now 是星期五,则认为最近的星期五是 今天
  2. 星期六需要稍微专门的处理,因为 星期几的编号

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2016-05-24
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多