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

首頁(yè) > 語(yǔ)言 > PHP > 正文

php使用strtotime和date函數(shù)判斷日期是否有效代碼分享

2024-09-04 11:49:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

php使用strtotime和date函數(shù)進(jìn)行檢驗(yàn)判斷日期是否有效代碼分享,大家參考使用吧.

咋一想,判斷日期是否有效應(yīng)該是蠻簡(jiǎn)單的一個(gè)功能,但是細(xì)想起來(lái)還是有點(diǎn)麻煩的,因?yàn)榧纫獧z驗(yàn)格式,又要檢驗(yàn)有效性。例如2013-02-29,雖然格式正確,但是日期無(wú)效;而2012-02-29格式正確,也有效。

一種方法可以使用正則,但是正則其實(shí)理解起來(lái)蠻麻煩的,而且使用正則在檢驗(yàn)有效性方面也不太好。這里提供一個(gè)方法,主要是使用strtotime和date函數(shù)進(jìn)行檢驗(yàn)。直接上函數(shù):

  1. /** 
  2.  * 校驗(yàn)日期格式是否正確 
  3.  *  
  4.  * @param string $date 日期 
  5.  * @param string $formats 需要檢驗(yàn)的格式數(shù)組 
  6.  * @return boolean 
  7.  */ 
  8. function checkDateIsValid($date$formats = array("Y-m-d""Y/m/d")) { 
  9.     $unixTime = strtotime($date); 
  10.     if (!$unixTime) { //strtotime轉(zhuǎn)換不對(duì),日期格式顯然不對(duì)。 
  11.         return false; 
  12.     } 
  13.  
  14.     //校驗(yàn)日期的有效性,只要滿(mǎn)足其中一個(gè)格式就OK 
  15.     foreach ($formats as $format) { 
  16.         if (date($format$unixTime) == $date) { 
  17.             return true; 
  18.         } 
  19.     } 
  20.  
  21.     return false; 

代碼注釋里說(shuō)明的比較詳細(xì)了,就不再敘說(shuō)了。有一點(diǎn)要注意下:如果需要的日期格式比較特別,即便是正確的格式,strtotime函數(shù)也無(wú)法解析的,則不能使用這個(gè)函數(shù),不過(guò)這種情況應(yīng)當(dāng)非常少見(jiàn)了。

一些例子:

  1. var_dump(checkDateIsValid("2013-09-10")); //輸出true 
  2. var_dump(checkDateIsValid("2013-09-ha")); //輸出false 
  3. var_dump(checkDateIsValid("2012-02-29")); //輸出true 
  4. var_dump(checkDateIsValid("2013-02-29")); //輸出false 

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安龙县| 璧山县| 祁东县| 岐山县| 西充县| 延边| 淳安县| 尚义县| 四平市| 田阳县| 瑞昌市| 小金县| 湄潭县| 灯塔市| 枞阳县| 哈尔滨市| 昌图县| 普定县| 陈巴尔虎旗| 建阳市| 红桥区| 十堰市| 黄龙县| 安西县| 峨边| 沛县| 马鞍山市| 赤峰市| 珲春市| 雅安市| 连平县| 方城县| 仁怀市| 定结县| 安塞县| 安吉县| 石门县| 探索| 香格里拉县| 宜春市| 安仁县|