4

iPhone で HTML 5 フォームを使用しています。このフォームには、次のような入力要素があります。

<input id="birthdate" type="date" />

ユーザーがこのフィールドをクリックすると、iOS 日付ピッカーが表示されます。ユーザーが日付を選択すると、2012 年 4 月 14 日のように表示されるフィールドに日付が入力されます。

私の質問は、この日付をテキスト ボックスで 04-14-2012 のようにフォーマットする方法はありますか? または、できれば、iOS の日付形式を JavaScript の Date オブジェクトに変換する簡単な方法はありますか?

4

4 に答える 4

4

私はいつもフォーマットが意図されていると思っていましたYYYY-MM-DD

W3C仕様RFC3339

とにかく、JavaScriptで変換できます。

var dateInput = document.getElementById('birthdate');

dateInput.addEventListener('change', function() {
    dateInput.value = new Date(dateInput.value).toISOString().split('T')[0];
}, false);
于 2012-04-14T12:18:41.870 に答える
2

いいえ。

次の 2 つの形式があります。

  • 表示形式
  • JavaScript に公開され、サーバーに送信される内部形式

表示形式は変更できません。日付がユーザーにどのように表示されるかは、ブラウザー次第です (実際には、システムのロケールによって決定されます)。

内部フォーマットも変更できません。ブラウザ/ロケールに関係なく、常にISO8601 です。

于 2012-04-14T13:59:46.403 に答える
0

@PorneLの回答に同意しますが、必要な結果をシミュレートするためにいくつかの作業を行うことができる可能性があります。私はそれが最善の方法ではないことを規定します。

擬似コードの場合:

  • 日付タイプとテキストタイプの2つの入力があります。
  • 日付の入力を非表示にするか、横に1px x 1pxにし、入力を希望の日付のサイズにします。
  • テキスト入力にフォーカスすると、隣接する日付入力に自動的にフォーカスが設定されます。
  • この時点で、ユーザーは日付入力フィールドを編集します
  • 日付フィールドを変更したら、値を取得し、任意の書式を使用してテキストフィールドに挿入します。

繰り返しますが、これは最善の解決策ではないかもしれませんが、このように機能する可能性があります。

于 2012-11-21T19:14:43.447 に答える
-1

以下はそれを行う必要があります。

$dat = new DateTime($_POST['MyDATE']);
$new_format = $dat->format('Y-m-d');
于 2012-10-06T16:40:44.310 に答える