我只需要以月份和年份給出格式爲YYYY-MM-DD的月份的第一天和最後一天。有沒有一個好的,簡單的方法來做到這一點?在PHP中,有沒有簡單的方法來獲取一個月的第一個和最後一個日期?
34
A
回答
64
5
第一天總是YYYY-MM-01,不是嗎?例如:date("Y-M-d", mktime(0, 0, 0, 8, 1, 2008))
最後一天是下個月的第一天的前一天:
$date = new DateTime("2008-09-01");
$date->modify("-1 day");
echo $date->format("Y-m-d");
3
月份的第一天總是1 因此,這將成爲
YYYY-MM-01
的最後一天可以計算爲:
<?php
$num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "There was $num days in August 2003";
?>
2
好的,首先是很容易的。
date ('Y-m-d', mktime(0,0,0,MM,01,YYYY));
最後是有點棘手,但不是很多。
date ('Y-m-d', mktime(0,0,0,MM + 1,-1,YYYY));
如果我記得我的PHP日期正確的東西......
**編輯 - 爾加!毆打它的一萬倍左右...
編輯帕特:
最後一天應該是
date ('Y-m-d', mktime(0,0,0,$MM + 1,0,$YYYY)); // Day zero instead of -1
0
順便說@ZombieSheep解決方案
date ('Y-m-d', mktime(0,0,0,$MM + 1,-1,$YYYY));
不起作用它應該是
date ('Y-m-d', mktime(0,0,0,$MM + 1,0,$YYYY)); // Day zero instead of -1
當然@MichałSłaby接受的解決方案是最簡單的。
0
只是爲了驗證,我沒有錯過任何細節:
$startDay = 1;
if (date("m") == 1) {
$startMonth = 12;
$startYear = date("Y") - 1;
$endMonth = 12;
$endYear = date("Y") - 1;
}
else {
$startMonth = date("m") - 1;
$startYear = date("Y");
$endMonth = date("m") - 1;
$endYear = date("Y");
}
$endDay = date("d") - 1;
$startDate = date('Y-m-d', mktime(0, 0, 0, $startMonth , $startDay, $startYear));
$endDate = date('Y-m-d', mktime(0, 0, 0, $endMonth, $endDay, $endYear));
2
<?php
echo "Month Start - " . $monthStart = date("Y-m-1") . "<br/>";
$num = cal_days_in_month(CAL_GREGORIAN, date("m"), date("Y"));
echo "Monthe End - " . $monthEnd = date("Y-m-".$num);
?>
0
用PHP做到這一點,最簡單的方法是
$dateBegin = strtotime("first day of last month");
$dateEnd = strtotime("last day of last month");
echo date("MYDATEFORMAT", $dateBegin);
echo "<br>";
echo date("MYDATEFORMAT", $dateEnd);
或過去一週
if (date('N', time()) == 7) {
$dateBegin = strtotime("-2 weeks Monday");
$dateEnd = strtotime("last Sunday");
} else {
$dateBegin = strtotime("Monday last week");
$dateEnd = strtotime("Sunday last week");
}
還是去年
$dateBegin = strtotime("1/1 last year");
$dateEnd = strtotime("12/31 this year");
0
試試這個得到當月的天數:
$numdays = date('t', mktime(0, 0, 0, $m, 1, $Y));
0
例;我想獲得本月的第一天和最後一天。
$month = (int) date('F');
$year = (int) date('Y');
date('Y-m-d', mktime(0, 0, 0, $month + 1, 1, $year)); //first
date('Y-m-d', mktime(0, 0, 0, $month + 2, 0, $year)); //last
當你在日期2015年1月9日運行此例如,第一個和最後一個值將依次是;
2015-01-01
2015-01-31
經過測試。
0
從here(get next month last day)這是標記爲重複,所以我不能在那裏添加評論,但人們可以從那裏得到壞的答案。
正確的下個月的最後一天:
echo ((new DateTime(date('Y-m').'-01'))->modify('+1 month')->format('Y-m-t'));
正確下個月的第一天:
echo ((new DateTime(date('Y-m').'-01'))->modify('+1 month')->format('Y-m-01'));
這樣的代碼會從一月份提供三月,所以這不是什麼可以預料。
echo ((new DateTime())->modify('+1 month')->format('Y-m-t'));
相關問題
- 1. PHP:最簡單的方法是在第一個月的6個月之前獲取月份的日期?
- 2. 在MySQL中獲取下個月的第一個和最後一個日期
- 3. 傳遞日期並獲得該月的第一個和最後一個日期?
- 4. 在PHP中抓取特定月份的第一個日期和最後日期
- 5. 獲取上個月的第一天和最後一天的日期在C#
- 6. 如何獲取ios中fscalender的第一個日期和最後一個日期?
- 7. 獲取月份的第一個星期一和最後一個星期日,穿過月份邊界
- 8. 如何在一個月內找到第一個和最後一個日期
- 9. 獲取本週的第一個/最後一個日期
- 10. 如何獲取每個月的第一個和最後一個月
- 11. 如何使用當前月份和年份在scala上獲取第一個日期和最後一個日期
- 12. 如何在excel中獲取本月的最後一個日期
- 13. 有沒有辦法獲得上個月的第一天和當月的最後一天?在MySQL
- 14. 獲取上個月的最後一個日期Transact-SQL
- 15. 在ActiveRecord日期範圍查詢中獲取第一個和最後一個項目的最快方法?
- 16. SQL Server 2005獲取任何一個月的第一個和最後一個日期
- 17. 有沒有一種簡單的方法來重複一個PHP的MySQL查詢?
- 18. Javascript:查找兩個日期之間每個月的第一個和最後一個日期?
- 19. PHP日期一個月簡稱
- 20. 關係代數的第一個和最後一個日期
- 21. BASH - 簡單的第一個字符和最後一個字符
- 22. 有沒有一種簡單的方法來document.createElement多個元素?
- 23. SQL Server:獲取一個月的第一週和第二週的日期範圍
- 24. 獲取表格中的第一個和最後一個記錄
- 25. 驗證後有沒有更簡單的方法來獲取(第一個)Parsley.js focusedField元素?
- 26. 獲取前一個月的日期javascript
- 27. 有沒有簡單的方法來取代plist中的一個數據?
- 28. 最快的方式來獲得一個月,一天,一年,日期字符串
- 29. java一個月的最後一個星期日
- 30. 火鳥:一個月的最後一個星期日
我覺得挺傻的詢問了一個月的第一天....:什麼是「1」後,每月$ \ – 2008-09-04 12:22:42