国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 攀枝花市| 阿拉善左旗| 宕昌县| 临猗县| 孟连| 剑川县| 湟中县| 东阳市| 芦溪县| 纳雍县| 闵行区| 定日县| 西平县| 土默特右旗| 耿马| 双峰县| 福泉市| 长春市| 商水县| 霍州市| 兴国县| 五家渠市| 胶州市| 新巴尔虎右旗| 桦川县| 忻城县| 南充市| 涿鹿县| 咸阳市| 枞阳县| 双鸭山市| 睢宁县| 岳西县| 海丰县| 靖安县| 庆安县| 汕尾市| 鸡泽县| 尤溪县| 伊金霍洛旗| 西安市|