HTML5 type="date"
フィールドにWebフォームのユーザー入力があります。この入力された値(他のものと共に)は、JSON文書としてMySQLデータベースに保存されます。今私はその日付を抽出し、1つの与えられたフォーマットで生成されたMS Word文書に印刷する必要があります。すばらしいです!しかし、あなたが知っているように、HTML5の日付フィールドは、ユーザーのロケールや設定などに応じて日付形式を受け入れます。異なるブラウザに入力されたすべての日付が "Y-m-d"形式でDBに保存されています。これは本当にすべての場合にそうですか?将来の使用のためにこのフォーマットに頼ることができますか?トピックに関する仕様情報が見つかりませんでした。 "Y-m-d"形式に依存している場合は、 "推測"日付形式のPHPライブラリはありますか?PHPを使用した日付のフォーマットを推測する
0
A
答えて
1
まず、より適切なドキュメントデータベース(MongoDBなど)ではなく、JSONドキュメントをMySQLデータベースに保存する理由を教えてください。
とにかく、thisとthisに基づいて、表示される日付の形式は実際の値とは異なります。 HTTPリクエストの日付の値は常にyyyy-mm-dd
という形式になります。これはISO 8601の形式であり、信頼できるものでなければなりません。
PHPでは、DateTimeクラスで日付文字列を処理できます。このクラスは、さまざまな日付形式をサポートしています。たとえば:日付文字列が間違っている場合
// timezone is set based on your system preferences if not set
$date1 = new DateTime('2017-04-27', new DateTimeZone('+00:00'));
$date2 = new DateTime('27 April 2017', new DateTimeZone('+00:00'));
$date3 = new DateTime('2017-04-27T00:00:00+00:00');
var_dump($date1 == $date2); // bool(true)
var_dump($date1 == $date3); // bool(true)
、例外がスローされます。
try {
$date = new DateTime('2017 4 27');
} catch (Exception $e) {
echo $e->getMessage(); // DateTime::__construct(): Failed to parse time string (2017 4 27) at position 5 (4): Unexpected character
}
だから、あなたのケースであなたができるあなたの日付の検証のために、適切な出力フォーマット、例えばよりも、このクラスは:
$dateString = '2017-04-27T14:22:11+00:00';
try {
$date = new DateTime($dateString);
echo $date->format('Y-m-d'); // 2017-04-27
} catch (Exception $e) {
// do something else
}
関連する問題
- 1. datepickerを使用した日付フォーマット
- 2. は、PHPを使用してフォーマットされた日付文字列
- 3. PHPを使用してMySQLの日付を再フォーマット
- 4. php - フォーマット日付ISO8601?
- 5. はread_csv2()推測日付タイプが
- 6. PHPでfacebook日付をフォーマットする
- 7. 特定のフォーマットの日付列観測を削除する
- 8. jQuery datepicker、ノックアウト観測の日付フォーマットを設定する
- 9. OWL推論を使用してドメイン/範囲を推測する
- 10. addhours()を使用して日付をフォーマットする際のエラー
- 11. Jbuyを使用して日付をフォーマットするInbuildの機能
- 12. フォーマットXSLTを使用したXML属性値の日付
- 13. 算術演算子を使用したRubyの日付フォーマット
- 14. オーレリア:+パラメータは、私はフォーマットの日付フォーマットに値コンバータを使用した値コンバータ
- 15. PHPの[言語コード] _ [国コード]フォーマットのユーザーを推測する方法
- 16. PHPするpreg_match日付フォーマット「YYYY-MM」
- 17. Visual StudioでWindowsフォームを使用して日付をフォーマットする
- 18. Timexを使用して日付時刻をフォーマットする
- 19. APIとPythonを使用したGoogleスプレッドシートの日付フォーマットを設定する
- 20. PHP:日付のみになるようにmySQLから日付をフォーマットする
- 21. PHP用の新しいMongoDBドライバの日付のフォーマット
- 22. 日付フィルターを使用せずにjsだけを使用して日付をフォーマットする方法は?
- 23. mysqlのGoogle ChartsのPHPの日付フォーマット
- 24. 日付はmoment.jsを使用してフォーマットします
- 25. PHP 5.4:日付フォーマット間の変換
- 26. Pythonでのバイナリ検索を使用したゲームの推測
- 27. PHPの日付関数を使用してユーザーフレンドリーな日付を出力する
- 28. 日付ピッカーからmysql/phpまでの奇妙な日付フォーマット
- 29. 日付式を使用して条件付き行をフォーマットする
- 30. 正しい日付フォーマットでフォーマットされた日付の各セクションのスタイル
ありがとう、ルーカス、MDNとGoogleデベロッパーを指しています。私は自分で答えを見つけるにはあまりにも少しgoogledように見えます。最も重要な部分は、リクエストは常にyyyy-mm-dd形式で送信されることです。 – erop
私のアプリケーション全体はMySQLに依存しています。しかし、ハードコピーの文書属性を入力するための動的なフォームを作成する必要があります。 MySQL 5.7.6で開始された新しいJSON型フィールドは、アプリの機能を拡張するのに非常に役立ちます。 – erop