【问题标题】:I want to rebill on every month first Wednesday of first full week, Every month should starts from Monday我想在每个月的第一个完整周的第一个星期三重新计费,每个月都应该从星期一开始
【发布时间】:2019-12-01 20:08:18
【问题描述】:

我有一个订阅模块,它在每个月的第一天重新计费,但在这里我想在一个月的第一个完整周的星期三重新计费。我需要用php代码写这个。

目前我正在获得每月的第一个星期三。这是sn-p

<?php
//Get the first Wednesday of July, 2019
echo date("j, d-M-Y", strtotime("first Wednesday 2019-07"));
//Result is: Wednesday, 02-Jul-2019
?>

实际结果: 每月第一周的第一个星期三,但从 02 开始是星期三。

预期结果, 一个月的第一个完整周的第一个星期三。月份应该从星期一到星期五开始。应该是整整一周。当星期一开始时,应该考虑。

请帮助我在 php7.1 中完成它,这是用于 magento 订阅模块的。它将重新计费客户订阅计划的期限。

谢谢。

【问题讨论】:

  • 另一种说法是每月的第一个星期一 + 2 天?
  • 不,第一周应该从星期一开始,因为星期三是计费日期,我们认为它不应该是 1 或 2 或直到第一个完整周(星期一到星期五)的日期。如果星期一是 1 或 2 或 3,那么它应该是第一个完整的一周。在我提到的示例中 2. 请检查此图像,单击此链接您会有所了解s3.amazonaws.com/tw-inlineimages/435279/0/0/…
  • 所有这些带圆圈的日期都是该月的第一个星期一,+ 2 天......
  • @jonnix 能否请您详细说明并指导我如何使用 PHP 实现这一目标。
  • echo (new DateTime('first Mon of June 2019'))-&gt;add(new DateInterval('P2D'))-&gt;format('l, d-M-Y'); 例如。

标签: php magento2 php-7.1 magento-2.3


【解决方案1】:

感谢您的帮助,我终于找到了这个问题的答案。

这里是代码sn-p

$firstWednesday = date('Y-m-d', strtotime('First Monday of this month +2 days'));
echo $firstWednesday;

它在本月的第一个完整周中给出当前月份的第一个星期三。

结果:2019-07-03(第 3 个第一个星期三)

谢谢大家。

【讨论】:

    猜你喜欢
    • 2021-08-21
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多