PHPで日付タイムスタンプが正しいかどうかをチェックする方法はありますか?PHPの日時スタンプが正しいことを確認してください。
私は現在、MySQLでyyyy-mm-dd hh:mm:ss
を使用しており、ユーザーが正しい形式に一致する形式で日付/時刻スタンプを提供することを保証したいと考えています。
PHPで日付タイムスタンプが正しいかどうかをチェックする方法はありますか?PHPの日時スタンプが正しいことを確認してください。
私は現在、MySQLでyyyy-mm-dd hh:mm:ss
を使用しており、ユーザーが正しい形式に一致する形式で日付/時刻スタンプを提供することを保証したいと考えています。
checkdate()
関数を使用して、日付の有効性をチェックすることができます。
http://php.net/manual/en/function.checkdate.php
また、それは、無効な日付
ダウンボートは何ですか?あいまいな質問に対して有効な答え。このコメントは、OPがタイムスタンプではなくパターンを検証したいと示唆しています –
ですmktime()
にあなたのタイムスタンプの部品のすべてに合格し、虚偽または-1が返された場合(PHPのバージョンによって異なります)することができます指定された文字列を解析し、入力した日付と同じ日付であることを確認してください。
$dt = DateTime::createFromFormat('Y-m-d H:i:s', '2011-01-32 12:00:00');
echo $dt->format('Y-m-d H:i:s');
// outputs 2011-02-01 12:00:00
HTH。
[誰かが(bugfree)良い、作業checkdate()の例が付属してまで]私はこの機能を使用しています:
<?php
function validateMysqlDate($date){
if (preg_match("/^(\d{4})-(\d{2})-(\d{2}) ([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/", $date, $matches)) {
if (checkdate($matches[2], $matches[3], $matches[1])) {
return true;
}
}
return false;
}
// check it:
$a = validateMysqlDate('2012-12-09 09:04:00');
$b = validateMysqlDate('20122-12-09 09:04:00');
$c = validateMysqlDate('2012-12_09 09:04:00');
$d = validateMysqlDate('');
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
?>
とところで:それはないですがcheckdate()は$ Bのためにtrueを返します有効なmysqlの日時
これは重複した質問です。追加の議論と回答については、MySQL: How to check if a string is a valid DATE, TIME or DATETIME
あなたは 'hh:mm:ss'に時刻書式を挿入したいと思っていますか?何人いるのだろう? – Mob
[これはあなたを助けることができます] [ [1]:http://stackoverflow.com/questions/141315/php-check-for-a-valid-date-web-date-conversions –
In Stackoverflowあなたはこれの多くの解決策を見つけることができます。 [この質問をしてみ] [1] [1]:http://stackoverflow.com/questions/141315/php-check-for-a-valid-date-weird-date -conversions –