[英]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));
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.