Er det mulig å endre formatet for input type="date"?

Jeg jobber med HTML5-elementer på nettsiden min. Som standard viser input type="date" dato som YYYY-MM-DD.

Spørsmålet er om det er mulig å endre formatet til noe sånt som: DD-MM-YYYY?

Løsning

Det er ikke mulig å endre formatet.

Vi må skille mellom over the wire-formatet og nettleserens presentasjonsformat.

Trådformat

HTML5 date input specification]1 henviser til RFC3339-spesifikasjonen, som spesifiserer et fullstendig datoformat lik: yyyy-mm-dd. Se avsnitt 5.6 i RFC3339-spesifikasjonen for mer informasjon.

Presentasjonsformat

Nettlesere er ikke begrenset i hvordan de presenterer datainndata. I skrivende stund har Chrome, Edge, Firefox og Opera støtte for dato (se her). De viser alle en datovelger og formaterer teksten i inntastingsfeltet.

Skrivebordsenheter.

For Chrome, Firefox og Opera er formateringen av teksten i inntastingsfeltet basert på nettleserens språkinnstilling. For Edge er det basert på språkinnstillingen i Windows. Dessverre ignorerer alle nettlesere datoformateringen som er konfigurert i operativsystemet. For meg er dette veldig merkelig oppførsel, og noe å vurdere når du bruker denne inndatatypen. For eksempel vil nederlandske brukere som har operativsystemet eller nettleserspråket sitt satt til en-us, få vist 01/30/2019 i stedet for formatet de er vant til: 30-01-2019.

Internet Explorer 9, 10 og 11 viser et tekstinntastingsfelt med trådformatet.

Mobile enheter.

Spesielt for Chrome på Android er formateringen basert på Androids visningsspråk. Jeg mistenker at det samme gjelder for andre nettlesere, selv om jeg ikke har vært i stand til å bekrefte dette.

Kommentarer (26)

Jeg tror nettleseren vil bruke det lokale datoformatet. Tror ikke det er mulig å endre. Du kan selvfølgelig bruke en egendefinert datovelger.

Kommentarer (3)

I den siste betaversjonen av Google Chrome brukes endelig input type=date, og formatet er DD-MM-YYYY.

Så det må finnes en måte å tvinge frem et bestemt format. Jeg utvikler en HTML5-webside, og datosøkene mislykkes nå med forskjellige formater.

Kommentarer (5)