簡體   English   中英

日期數值+ 1周的strtotime PHP

[英]strtotime PHP for date numerical value + 1 week

我的日值為1到7,其中1是星期一,7是星期日。

我需要獲取下周適當日期的strtotime值。

例如:今天是11月13日星期二。

我的日值是“ 2”,因此strtotime應該返回11月20日星期二的適當值。 我的天值為“ 1”,因此strtotime應該返回11月19日星期一的適當值。 我的日值是“ 5”,因此strtotime應該返回11月23日(星期五)的適當值。

我希望可以使用幾個內置的PHP函數(strtotime(+ 1week + something))來完成此操作? 如果沒有,我將嘗試編寫一些比較檢查代碼!

謝謝!

function dayNextWeek($num) {
  return date('Y-m-d', strtotime("+1 week +" . ($num - date('w'))  . "days"));
}

並測試:

foreach (range(1, 7) as $i) {
  echo $i . ' ' . dayNextWeek($i) . "\n";
}

輸出值

1 2012-11-19
2 2012-11-20
3 2012-11-21
4 2012-11-22
5 2012-11-23
6 2012-11-24
7 2012-11-25

未經廣泛測試:

$givenDayNumber = 1;             // Your value here
$date = new DateTime();          // Today (reference point)
$currentDayOfWeek = date('N');   // This is 1 = Monday, see php date manual for more options
$diff = $givenDayNumber- $currentDayOfWeek; // Difference between given number and todays number
$date->modify('+ '.$diff.' day'); // Subtract difference
$date->modify('+ 1 week');        // Add a week
echo $date->format('d/m/Y');      // Output

鍵盤可在此處擺弄: http : //codepad.org/7SylbJOX

function getNext($dow)
{
    $now = intval(date('N'));

    $toAdd = $dow - $now;
    if($toAdd<=0)
    {
        $toAdd += 7;
    }

    return date('r', strtotime('+'.$toAdd.'day'));
}

希望這對您有用。

<?php
$array = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
$your_value = 2;
$str = 'next ' . $array[$your_value -1];
echo date('D d M Y', strtotime($str));

?>

http://codepad.org/OIrzRxpl

嘗試:

 $day_nxt_week = date('N', strtotime(date('Ymd') . '+1 week'));
 print_r($day_nxt_week);

演示版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM