我需要關於生成與過去七天至十天相比今天的日期和日期的幫助。如何創建一個可以處理周,月和年變化的準確時間戳?在php中生成前七天的日期
回答
最簡單的辦法是獲得對應於今天時間戳,使用time()
功能;和7次刪除1天至該時間戳,每個呼應對應於該時間戳記日期:
$timestamp = time();
for ($i = 0 ; $i < 7 ; $i++) {
echo date('Y-m-d', $timestamp) . '<br />';
$timestamp -= 24 * 3600;
}
這將讓你的輸出:
2010-02-25
2010-02-24
2010-02-23
2010-02-22
2010-02-21
2010-02-20
2010-02-19
因爲時間戳僅代表秒數自1970-01-01
開始,一天減去時間戳意味着減去24*3600
秒。評論後
編輯:
對於月份和星期的變化,這仍然將工作:一天仍然是24 * 3600秒。
例如,如果你測試使用該行,而不是第一個我張貼在我的第一個例子:
$timestamp = strtotime('2010-02-03');
你會得到這樣的輸出:
它改變了一個月精細。
閏年,如果我測試使用這樣的:
$timestamp = strtotime('2008-03-03');
我得到:
2008-03-03
2008-03-02
2008-03-01
2008-02-29
2008-02-28
2008-02-27
2008-02-26
也很正常,因爲在2月29日日子是2008年
如果我測試:
$timestamp = strtotime('2009-03-03');
我得到:
2009-03-03
2009-03-02
2009-03-01
2009-02-28
2009-02-27
2009-02-26
2009-02-25
也很正常了。
for($i = 1; $i <= 10; $i++){
echo strtotime("-$i days"), PHP_EOL;
}
另請參閱此相關的問題和答案:
我喜歡這...非常橫向... – 2010-02-25 22:09:03
要生成上午12點的時間戳爲最近10天(包括今天)下面的代碼將做到:您可以根據需要在this page of the php manual找到
<?php
for ($i=0; $i<=10; $i++) {
echo mktime (0, 0, 0, date('m'), date('d')-$i, date('Y'));
}
?>
它會處理月份和星期的變化嗎?閏年呢? – 2010-02-25 22:09:42
一切。
如果你足夠幸運能夠使用PHP 5.3(爲什麼不能?),那麼類也將非常有用。以下示例顯示相對於今天的前7天(與今天一起)的日期。
$start = new DateTime('-7 days', new DateTimeZone('UTC'));
$period = new DatePeriod($start, new DateInterval('P1D'), 7);
foreach ($period as $date) {
var_dump($date->format('D d-m-Y'));
}
,其輸出是這樣的:
string(14) "Thu 18-02-2010"
string(14) "Fri 19-02-2010"
string(14) "Sat 20-02-2010"
string(14) "Sun 21-02-2010"
string(14) "Mon 22-02-2010"
string(14) "Tue 23-02-2010"
string(14) "Wed 24-02-2010"
string(14) "Thu 25-02-2010"
類似的可以在下面的代碼段(其產生與上述相同的輸出)與strtotime相對容易地完成爲:
for ($i = 7; $i >= 0; $i--) {
var_dump(date('D d-m-Y', strtotime("-$i days")));
}
- 1. 在PHP中生成日期
- 2. PHP:生日檢查今天的日期
- 3. Oracle SQL - 兩天前和七天後發生的週年紀念
- 4. 在PHP中生成日期字符串
- 5. 如何在php中生成日期
- 6. PHP如果日期> 13天前
- 7. 生成日期範圍SQL天
- 8. 生成日期範圍天行
- 9. 檢查日期是否在過去七天內
- 10. 僅一天派生日期(1,2,3..31),基於當前日期
- 11. PHP:日期「昨天」,「今天」
- 12. 前一天的日期@ 4am
- 13. 天按日期PHP
- 14. 當前月份第一天的日期和提前5天的日期。 MySQL的
- 15. 如何最近七天特定日期取
- 16. 如何在LotusScript中獲得今天的日期前兩天?
- 17. 用Java生成當前日期戳記
- 18. PHP計數日期和今天日期
- 19. 設置PHP日期爲今天的日期在jQuery全日曆
- 20. 擺脫當前日期最後5天的日期在MySQL
- 21. XQuery - 如何在給定日期的日期前90天獲取?
- 22. 獲取當前日期和前一天
- 23. datepicker在今天之前禁用日期
- 24. Php日期:評估-1天
- 25. 顯示日期前12天爲當前日期
- 26. PHP日期格式今天/昨天
- 27. 在PHP中轉換從fullcalendar生成的日期時區問題
- 28. PHP代碼用於打印出生日期到當前日期的天數之間的差異
- 29. 如何在DatePickerDialog上的當前日期和前7天之間啓用日期?
- 30. Stata - 從天數中生成日期變量
這不會處理閏年 – 2010-02-25 22:05:48
以及月和周的變化......? – 2010-02-25 22:06:50
@Allain和@Anurag:我編輯了我的帖子以給出其他幾個例子;你有沒有工作的具體案例? – 2010-02-25 22:12:03