ホームページ  >  記事  >  バックエンド開発  >  PHP の定期的な日付と時刻の一致プログラム コード_PHP チュートリアル

PHP の定期的な日付と時刻の一致プログラム コード_PHP チュートリアル

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

今日は、データベース内の指定された文字列から日付と時刻を抽出し、一致する時刻形式が 2012-02-16 または 2012 であるタイムスタンプを変換する必要があります。 -02-16 23: 59:59の前が0の場合は書く必要はありません。後でテストコードを見つけました

コードは以下に掲載されています

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

//一致する時刻の形式は、2012-02-16 または 2012-02-16 23:59:59 で、先頭が 0 の場合は記述する必要はありません
$time = "2012-02-16 23:59:59";
$patten = "/^d{4}[-](0?[1-9]|1[012])[-](0?[1-9]|[12][0-9]|3[ 01])(s+(0?[0​​-9]|1[0-9]|2[0-3]):(0?[0​​-9]|[1-5][0-9]): (0?[0​​-9]|[1-5][0-9]))?$/";
if (preg_match ( $patten, $time )) {
echo $timestro = strtotime ( $time );
} その他 {
エコー「エラー」;
}
?>

この規則の分析:

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

/^d{4}[-](0?[1-9]|1[012])[-](0?[1-9]|[12][0-9]|3[01]) (s+(0?[0​​-9]|[12][0-3]):(0?[0​​-9]|[1-5][1-9]):(0?[0​​-9] |[1-5][1-9]))?$/

/ は式の開始記号であり、最後の / は式の終了記号です
^***で始まる文字列の先頭
$ は文字列の終わりを表し、終わりに達したことを意味します
| または
を意味します ()内は単位を表します
d{4} は 4 桁の数字に一致します。
(-) は「-」記号と一致します。
(0?[1-9]|1[012]) は月と一致します。
(0?[1-9]|[12][0-9]|3[01]) は曜日と一致します。

(s+(0?[0​​-9]|1[0-9]|2[0-3]):(0?[0​​-9]|[1-5][0-9]):(0 ?[0-9]|[1-5][0-9]))?

マッチング時間全体の分と秒の部分は、「はい」または「いいえ」を意味します。

最後のステップは、成功した一致のタイムスタンプを変換することです

現在の変換結果は次のとおりです: 1329407999

私が自分で書いた例を添付します

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


<前>
$str="こんにちは 2010/07/08 12:31:56はは 1999/12/31 13:21:45";
$str2="こんにちは 2010-07-08 12:31:56 はは 1999-12-31 13:21:45";
//日付のみ一致します
preg_match_all("/d{4}/d{2}/d{2}/", $str, $arr);
preg_match_all("/d{4}-d{2}-d{2}/", $str2, $arr2);
//日時を一致させる
preg_match_all("/d{4}/d{2}/d{2}sd{2}:d{2}:d{2}/", $str, $arr3);
preg_match_all("/d{4}-d{2}-d{2}sd{2}:d{2}:d{2}/", $str2, $arr4);
echo '一致日
';
print_r($arr);
print_r($arr2);
echo '日付と時刻を一致
';
print_r($arr3);
print_r($arr4);
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631254.html技術記事今日はデータベースを置き換えたいと考えています。データベース内の指定された文字列から日付と時刻を抽出し、タイムスタンプを変換する必要があります。一致する時刻の形式は 2012-02-16 です。 .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。