国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP中使用strtotime函數注意事項

2024-09-04 11:48:28
字體:
來源:轉載
供稿:網友

strtotime函數在是大家常用的一個時間日期轉換成單位S的一個函數了,但是這個函數有一個細節大家可能沒有注意到,就是 使用的時候需要考慮 有31天和 2月份的情況,所以,如果沒有考慮這個特殊的情況,那么在每月的31號或者和2月份有關的時間點時候就可能出現開始的那個靈異情況了,這個情況很多朋友都不記得了,但在很多時間這個非常重要,下面舉例子來給各位介紹一下.

今天在微博上看到一個小案例,命令行如下:

php -r “echo date(‘Y/m’,strtotime(‘-2 months’)) . \”\n\”;”

輸出結果如下:2013/03

如果把命令行修改成如下:

php -r “echo date(‘Y/m’,strtotime(‘-3 months’)) . \”\n\”;”

輸出結果如下:2013/03

這里就奇怪了,怎么兩個月前和三個月前的年月份都是一樣的,再看看下面的命令行:

php -r “echo date(‘Y/m’,strtotime(‘-3 months’,strtotime(’2013/05/28′))) . \”\n\”;”

輸出結果如下:2013/02

如果修改命令行為如下:

php -r “echo date(‘Y/m’,strtotime(‘-3 months’,strtotime(’2013/05/29′))) . \”\n\”;”

輸出結果如下:2013/03

下面這個與預期的結果是一樣的,現在說說為什么會出現開始的那個奇怪的坑.

strtotime里的months和 month是30天,使用的時候需要考慮 有31天和 2月份的情況,所以,如果沒有考慮這個特殊的情況,那么在每月的31號或者和2月份有關的時間點時候就可能出現開始的那個靈異情況,這個算是strtotime的一個坑吧,為了慎重起見,能不用的時候就盡量別去用這個坑人的東東.

PS:以上所有例子都是在Debian6的64位系統下執行,使用命令行方式執行,執行時間是2013-05-30.

上月下月時間不準確

以下有幾種方法,可以幫助我們達到預期效果,比如我要返回上個月的月份,代碼如下:

  1. echo date('(www.survivalescaperooms.com)M Y'strtotime((www.survivalescaperooms.com)'midnight first day of -1 month')); 
  2. 或者: 
  3. echo date('M Y'strtotime(date('Y-m-01')) - 86400);  

下方是其他的用途,代碼如下:

  1. strtotime('first day of last month'); 
  2. strtotime('last day of last month'); 
  3. strtotime('first of last week'); 
  4. strtotime('first of this week'); 
  5. strtotime('this week midnight'); // returns Monday midnight of this week 
  6. strtotime('last week midnight'); // returns Monday midnight of last week 
  7. strtotime('last week Sunday midnight'); // returns Sunday midnight of this week 
  8. strtotime('-2 weeks Sunday midnight'); // returns Sunday midnight of last week 
  9.  
  10. <?php 
  11. date_default_timezone_set('Asia/Shanghai'); 
  12. $first_day_of_month = date('Y-m',time()) . '-01 00:00:01'
  13. $t = strtotime($first_day_of_month); 
  14. print_r(array
  15.  
  16. date('Y年m月',$t), 
  17. date('Y年m月',strtotime('- 1 month',$t)), 
  18. date('Y年m月',strtotime('- 2 month',$t)), 
  19. )); 
  20. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉兴市| 江西省| 蒲城县| 古丈县| 西峡县| 乐山市| 阳谷县| 兴和县| 宁陕县| 长汀县| 凭祥市| 新竹县| 潢川县| 灌云县| 汕尾市| 布拖县| 香港 | 镇坪县| 甘洛县| 江北区| 榆树市| 沽源县| 辛集市| 蒙自县| 郓城县| 同仁县| 扬中市| 运城市| 洛川县| 永宁县| 土默特左旗| 鹤庆县| 汨罗市| 贵南县| 楚雄市| 绥宁县| 澎湖县| 湖南省| 浑源县| 来凤县| 双江|