LoginSignup
mmm10
@mmm10

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

<input type="date">型で日付の書式がデフォルトでmm/dd/yyyyになる問題

解決したいこと

Laravelを利用してウェブサイト作成を行っています。
カレンダーによる日付入力を行うために、

<input type="date">

を利用したところ、日付の書式がデフォルトでmm/dd/yyyyになってしまい困っています。

書式をdd/mm/yyyyに変更したいのですが、
解決方法を教えて下さい。

発生している問題・エラー

<input type="date" format="dd/mm/yyyy">

日付の書式がmm/dd/yyyyに変更されません。

自分で試したこと

①htmlの言語設定ファイルを

<html lang="ja" xml:lang="ja">

に変更してみたがダメだった。

②Laravelのタイムゾーン設定をUTCから日本にしてみたがダメだった。
config/app.php

'timezone' => env('APP_TIMEZONE', 'Asia/Tokyo'),
0

5Answer

ブラウザは何でしょう? input type="date" はブラウザ依存の動きとなると思いますが。


【追記】

日付の書式がデフォルトでmm/dd/yyyyになってしまい困っています。

日本語版 Windows 10 の Chrome, Edge, Firefox, Opera では表示は yyyy/MM/dd 形式になります。下は Chrome の例。

selected.jpg

質問者さんの PC の OS は米国版ではないのですか?

他の方が回答している通りブラウザ上での表示はブラウザのロケールによって変わるようです。

ロケールによらず固定したいのなら javascript ライブラリを使ってはいかがですか? 「javascript datepicker ライブラリ」などをキーワードにググるといろいろヒットします。例えば下記:

UIのイケているdatepickerライブラリpickadate.jsが最高だった(demo有)
https://qiita.com/Yuta_Fujiwara/items/e80fb931af623bd8e73e

他にもいろいろヒットしますので自分でも調べてください。

1

  • <input type="date">format 属性は定義されていません
  • 表示される日付はユーザーのブラウザーに設定されたロケールに基づいた書式

    • …なので、サーバではなくクライアント側のOSやブラウザのロケール設定を変更する必要があります
1

Your answer might help someone💌