5

ユーザーが日付を選択できるようにする必要があり (dd/mm/yy の形式が望ましい)、新しい HTML5 入力日付タイプを試してみることにしました。ただし、サーバー側で与える値を解釈する方法がわかりません。取得する値は yyyy-mm-dd です。これどうやってするの?

サポートしていない古いブラウザを使用している場合、ユーザーはどのように日付を入力するのでしょうか?

4

4 に答える 4

7
  1. PHP の日付機能 ( 、 など) を使用して日付を変換するだけdate()ですDateTime

    $datetime = new DateTime('2012-12-06');

    $new_date = $datetime->format('d/m/Y');

  2. プレーン テキスト フィールドが表示されます。彼らが有効な日付を入力していることを確認するのはあなた次第です。

于 2012-12-06T15:48:09.927 に答える
4

date()このように、を使用して日付形式を変換できます。

 $new_date = date('d/m/y', strtotime($_POST['date']));

デモ

于 2012-12-06T15:53:18.547 に答える
1

ユーザーがそれをサポートしていないブラウザーを使用している場合、ブラウザーは通常のテキスト入力ボックスを表示するだけで、ユーザーは好きなものを入力できます。

したがって、入力される任意のデータに対処できる必要があります。ただし、ブラウザからのユーザー入力を信頼してはならないため、とにかく当てはまります。

すべてのユーザーに適切な日付制御を持たせたい場合は、jQuery 日付ピッカーなどを使用して、それを持たないブラウザーの機能を埋め戻すことができます。

yyyy-mm-dd取得した値をどうするかについては、DateTime()クラスを使用してそれを PHP DateTime オブジェクトに変換するだけです。簡単:

$dateObj = new DateTime($_GET['mydate']);  //or whatever your input field is called.
于 2012-12-06T15:59:52.227 に答える
0

通常の入力として取得できます。その後、 でシームレスに日付に変換できますdate()。この全体はブラウザーの機能強化にすぎず、サーバー側のすべてに変更はありません。ブラウザが古い場合、ブラウザはそれを通常のテキスト入力にしますが、それでも違いは見られません。乾杯、ボーヤン

于 2012-12-06T15:48:18.200 に答える