我想獲得給定兩個日期的星期數,即從2012-01-01到2012-12-31。星期數應該完全落在上面指定的範圍內。可以ü請爲此提供建議。獲取PHP中兩個日期之間的星期數
回答
像這樣的東西應該很好地工作:
<?php
$startDateUnix = strtotime('2012-01-01');
$endDateUnix = strtotime('2013-01-01');
$currentDateUnix = $startDateUnix;
$weekNumbers = array();
while ($currentDateUnix < $endDateUnix) {
$weekNumbers[] = date('W', $currentDateUnix);
$currentDateUnix = strtotime('+1 week', $currentDateUnix);
}
print_r($weekNumbers);
?>
DEMO。
輸出:
Array
(
[0] => 52
[1] => 01
[2] => 02
.........
[51] => 51
[52] => 52
)
感謝您給予答覆...我想2012-12-01 -2013-06-30.But它給錯誤的結果。 – user2286462
@ user2286462它給你什麼,你期望什麼? – h2ooooooo
你可以試試2011-01-01 - 2011-12-31和檢查 – user2286462
做這樣的事情:
[REMOVED]
編輯
<?php
for($w = strtotime($start_date); $w <= strtotime($end_date); $w += 7 * 24 * 3600)
{
echo date("W", $w) . '<br />';
}
?>
如果$ start_date是'2012-12-20'而$ end_date是'2013-03-04'會怎麼樣?那將是一個無限循環。 – h2ooooooo
像這樣的東西應該做的工作:
$start = '2012-01-01';
$end = '2012-12-31';
$dates = range(strtotime($start), strtotime($end),604800);
$weeks = array_map(function($v){return date('W', $v);}, $dates); // Requires PHP 5.3+
print_r($weeks);
我想你想是這樣的使用日期時間:
$first_date = new DateTime();
$last_date = new DateTime('-50 weeks');
$days_array = array();
foreach(new DatePeriod($first_date, new DateInterval('P1D'), $last_date) as $date) {
$days_array[] = $date->format('W');
}
日期管理是完全陷阱。我也強烈建議使用日期時間女巫允許你定義時區。 – Gabriel
你可以使用weeks_beween_dates()函數以下兩個日期之間的週數。
function weeks_beween_dates($d1,$d2)
{
$t1 = strtotime($d1);
$t2 = strtotime($d2);
$now = $t1;
$out = array();
while ($now <= $t2) {
$out[] = date('W', $now);
$now = strtotime('+1 week', $now);
}
return $out;
}
print_r(weeks_beween_dates('2015-01-01','2015-12-31')); // 01..53
print_r(weeks_beween_dates('2016-01-01','2016-12-31')); // 01..52
- 1. Android獲取兩個日期之間的星期幾名稱
- 2. 獲取兩個選定日期之間的星期幾
- 3. 獲取兩個日期之間的每個星期五的數據
- 4. 如何獲取Ruby中兩個日期之間的所有星期日?
- 5. 兩個日期之間的星期日數量?
- 6. 獲取php中兩個日期之間的天數
- 7. 找到兩個日期之間的星期日數,如果星期日來自兩個日期之間,然後減去星期日
- 8. 如何獲取DateTime中的兩個日期之間的日期
- 9. 得到兩個日期之間的日期,按星期幾
- 10. Java中兩個日期之間的星期一數量
- 11. 獲取兩個日期之間的最大日期/時間
- 12. 如何獲取C中兩個日期之間的日期#
- 13. 如何獲得兩個日期之間的星期差異
- 14. 如何在兩個日期之間獲得星期
- 15. 使用JavaScript的兩個日期之間的星期數
- 16. PHP獲取這個星期的日期星期一
- 17. 在兩個日期之間獲得完整的「星期一至星期日」星期
- 18. 包含兩個日期之間的星期數
- 19. 你如何計算兩個日期之間的星期數?
- 20. 使用javascript獲取兩個日期之間的日期列表
- 21. 獲取SQL兩個日期之間的日期列表
- 22. Javascript - 獲取兩個日期之間的日期列表
- 23. 如何獲取兩個日期之間的所有日期?
- 24. 如何獲取兩個日期之間的日期Django
- 25. 如何獲取兩個日期之間的日期列表?
- 26. 如何迭代Groovy中兩個日期之間的星期?
- 27. MySQL的算兩個日期之間的星期在一個表
- 28. 在PHP中獲取兩個日期時間之間的間隔秒數?
- 29. 延續關於在兩個日期之間獲取日期
- 30. 在兩個日期之間獲取日期差異
週數?你的意思是兩個日期之間的星期數?或者兩者之間發生的一週數字? – BenM
2012-01-01和2012-12-31之間的週數爲52. – cwallenpoole
週數之間發生陣列。 – user2286462