ホームページ  >  に質問  >  本文

<input> 要素の時間形式 (12 時間または 24 時間) を調整するにはどうすればよいですか?

<p><code>type=time</code> の HTML5 入力要素を使用しています。問題は、時刻が <code>12 時間形式</code> で表示されることですが、<code>24 時間形式</code> で表示したいと考えています。 24 時間制に設定するにはどうすればよいですか? </p> <p>これは私の入力フィールドです: </p> <p><br /></p> <pre class="brush:html;toolbar:false;"><input type="time" name="time" placeholder="時:分" pattern="^([0-1]?[0 -9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$" class="入力時間" 必須>< /pre> <p><br /></p>
P粉488464731P粉488464731426日前678

全員に返信(2)返信します

  • P粉547170972

    P粉5471709722023-08-21 12:45:33

    HTML5 ドラフトによると、input type=time は時刻を入力するためのコントロールを作成し、「ユーザーの好みの表示方法」を使用して実装されることが期待されています。しかし実際には、これはブラウザのローカリゼーション ルールに従うウィジェットを使用することを意味します。したがって、周囲のコンテンツの言語に関係なく、表示はブラウザの言語、基礎となるオペレーティング システムの言語、またはシステム全体のロケール (ブラウザに応じて) に基づいて変更されます。たとえば、フィンランド版の Chrome を使用すると、表示されるウィジェットは標準の 24 時間時計を使用します。状況は異なる場合があります。

    したがって、input type=time は、ローカリゼーションの概念をページ作成者の外部に完全に残すアプローチに基づいています。これは意図的なものであり、この質問は HTML5 の議論で数回提起されていますが、変更はありません (予想どおり、この動作を説明するテキストの明確化を除いて)。

    input type=time では、pattern 属性と placeholder 属性は使用できないことに注意してください。また、placeholder="hrs:mins" が実装されている場合、誤解を招く可能性があります。ブラウザのロケールで時刻区切り文字として「.」が使用されている場合、ユーザーは 12:30 の代わりに 12.30 (ピリオドを使用) を入力する必要がある場合があります。

    私の結論は、pattern 属性をサポートしていないブラウザでは、input type=text を使用し、JavaScript を使用して入力の正確さをチェックする必要があるということです。

    返事
    0
  • P粉231112437

    P粉2311124372023-08-21 09:26:32

    HTML5時間入力

    これは日付/時刻関連のタイプの中で最も単純であり、ユーザーは通常、ユーザーのオペレーティング システムのロケールに応じて 24/12 時間時計で時刻を選択できます。返される値は 24 時間の 時:分 形式で、14:30 のように見えます。

    各ブラウザでの表示方法などの詳細については、MDN をご覧ください。

    リーリー

    返事
    0
  • キャンセル返事