首页 > 解决方案 > 从开始日期开始的 PHP 星期和日期

问题描述

我有一个用户的订阅日期。例如 2019-07-04。

根据周(1,2,3,4)或日(1-7),我需要确定相对于开始日期的周或日。

所以 2019-07-04 将是 Week1,Day1 2019-07-05 将是 Week1,Day2 等等

循环必须重复,所以如果我们到达第 4 周、第 7 天,第二天必须是第 1 周、第 1 天

周数可以是任意数量,天数 <= 7

有任何想法吗?请注意碳不是一种选择

标签: php

解决方案


试试看。

<?php
    $date = DateTime::createFromFormat('Y-m-d', '2019-06-14' ); //please insert your date here

    $dateDiff = $date->diff( new DateTime() )->format('%a');
    if ( $dateDiff > 0 ) {
        $subscriptionCount = intval( intval( $dateDiff ) / ( 7 * 4 ) );
        $currentWeekCount = intval( $dateDiff / 7 ) % 4;
        $currentDayCount = $dateDiff % 7 + 1;
    } else {
        echo 'invalid day';
    }

    echo $subscriptionCount.' times renew'.PHP_EOL;
    echo 'last renew after '.$currentWeekCount.' weeks '.$currentDayCount.' days'.PHP_EOL;


推荐阅读