麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

PHP學習之校驗日期格式合法性?(使用strtotime()和date())

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

本篇文章主要講述了用PHP來校驗日期格式是否合法,具有一定參考價值,有需要的朋友可以了解一下,希望能幫到你。

在后端開發中,我們常常需要校驗前端傳入參數的合法性,如果是校驗日期參數,我們可以通過下面的方法來校驗:

  1. /** 
  2.  
  3.  * 校驗日期格式是否合法 
  4.  
  5.  * @param string $date 
  6.  
  7.  * @param array $formats 
  8.  
  9.  * @return bool 
  10.  
  11.  */ 
  12.  
  13. function isDateValid($date$formats = array('Y-m-d''Y/m/d')) { 
  14.  
  15.   
  16.  
  17.     $unixTime = strtotime($date); 
  18.  
  19.     if(!$unixTime) { //無法用strtotime轉換,說明日期格式非法 
  20.  
  21.         return false; 
  22.  
  23.     } 
  24.  
  25.   
  26.  
  27.     //校驗日期合法性,只要滿足其中一個格式就可以 
  28.  
  29.     foreach ($formats as $format) { 
  30.  
  31.         if(date($format$unixTime) == $date) { 
  32.  
  33.             return true; 
  34.  
  35.         } 
  36.  
  37.     } 
  38.  
  39.   
  40.  
  41.     return false; 
  42.  

說明:為什么只用strtotime()函數是無法準確校驗時間呢?

因為只要格式正確的日期用strtotime()都能將其轉成時間戳,比如2018-02-31這個日期,其實邏輯上來說這個日期是不存在的,但是在strtotime()函數依然能將其成功轉成時間戳,所以我們需要將時間戳用date()轉成標準格式,然后和傳入的日期進行比對,如果不相等,說明這個傳入的日期也是不合法的。

PHP本身也有校驗時間的函數checkdate(),這個函數需要三個參數,分別是月、日、年。比如上面的日期可以這樣調用checkdate函數檢測

  1. if(checkdate(2, 31, 2018)) { 
  2.  
  3.     echo '日期格式正確'
  4.  
  5. else { 
  6.  
  7.     echo '日期格式不正確'
  8.  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 777午夜精品视频在线播放 | 成人区一区二区三区 | 久久伊 | 欧美成人午夜精品久久久 | 亚洲第一色婷婷 | 久久久免费观看完整版 | 久久99精品国产自在现线 | 国产一级大片 | 91九色视频观看 | 一级做a爱片久久毛片a高清 | 色欲香天天天综合网站 | 免费永久在线观看黄网 | 中国hdxxxx护士爽在线观看 | 美女视频免费一区二区 | 久久亚洲成人 | 56av国产精品久久久久久久 | 美女羞羞视频网站 | 成年免费大片黄在线观看岛国 | 免费毛片播放 | 国产精品成aⅴ人片在线观看 | 国产激情视频在线 | 免费男女视频 | 黄色午夜剧场 | 色域tv| 亚洲精品一区二区三区大胸 | 永久在线观看电影 | 日本综合久久 | 蜜桃精品视频 | 中文黄色一级片 | 国产寡妇xxxxxxxx性开放 | 特一级黄色毛片 | 伊人999 | 日韩一级片免费 | 九九热精彩视频 | av不卡免费在线 | 国产成人精品一区二区视频免费 | 亚洲精品aa| 国产99久久久久久免费看 | 91九色视频在线播放 | 一级成人毛片 | 成人在线97 |