ホームページ  >  記事  >  バックエンド開発  >  PHP定期検証日時フォーマットサンプルコード_PHPチュートリアル

PHP定期検証日時フォーマットサンプルコード_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:16:041757ブラウズ

PHP を使用して日付形式を検証するには、checkdate() 関数と正規表現を使用します。以下に、日付形式を検証するためのプロセスをいくつか紹介します。そして、最終的に最も簡単な方法を思いつきました。

1. 正規表現を使用して日付と時刻の形式を確認します
ereg、preg_matchなどのPHP関数を主に使用します。
とてもシンプルなものがあります

コードは次のとおりです コードをコピー
$dateTime=”2010-6-4 00:00:00″;
if(preg_match("/^d{4}-d{2}-d{2} d{2}:d{2}:d{2}$/s",$dateTime))
{
「はい」をエコーし​​ます;
}その他{
「いいえ」をエコーし​​ます;
}

しかし、この規則性は数値を検証しただけで、境界値を検証したわけではないので、誰かがこの規則性を書きました

コードは次のとおりです コードをコピー

正規表現 = “^((d{2}(([02468][048])|([13579][26]))[-/s]?(((0?[13578]
) )|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(( (0?[4
69])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[- /
s]?((0?[1-9])|([1-2][0-9])))))|(d{2}(([02468][1235679])|([1
] 3579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((
0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s] ?((
0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|( 1[0-9]
)|(2[0-8])))))) “; //日付部分
正規表現 += “(s(((0?[0​​-9])|([1-2][0-3])):([0-5]?[0-9])((s)| (:([0-5]?[0-9])))))?$” //時間部分

;

これはまさに神の御業です。
そのため、時刻形式の正当性を確認するために正規表現を使用することを諦めなければなりませんでした。

2. 時刻文字列を逆アセンブルし、日付と時刻の形式を個別に確認します。
checkdateなどのPHP関数が主に使用されます。
この方法は非常に優れており、検証も正確ですが、コードを書くのが面倒です。checkdate($k[1],$k[2],$k[0])を使用する必要があります。 ) 日付、時刻を確認するには 1 つずつ分解して検査する必要があります。

実際には、上記の2つの方法を組み合わせて使用​​することができ、操作はさらに便利になります。
1. まず正規表現を使用して、「2011-11-07 12:30:55」の形式であるかどうかを確認します。

使う

コードは次のとおりです コードをコピー
preg_match("/^d{4}-d{2}-d{2} d{2}:d{2}:d{2}$/s",$dateTime)

以上です
2. 次に、strtotime() 関数を使用して判断および検証し、日付文字列を渡すだけです。
strtotime() 関数は、デフォルトで、指定された日付と時刻の文字列に対応する UNIX タイムスタンプを返します。
strtotime() 関数の特徴の 1 つは、受信した日付文字列の形式が間違っている場合に false を返すことです。また、さまざまな日付形式をサポートしているため、非常に便利です。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/628719.html技術記事 php を使用して日付形式を検証するには、checkdate() 関数と正規表現を使用します。以下に、日付形式を検証するためのプロセスをいくつか紹介し、最終的に結論を出します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。