Rolf B: Javascript Zeit verändern

Beitrag lesen

Hallo Henry,

laut Spec ist die Zuweisung eines Date-Objekts an valueAsDate für datetime-local Inputs nicht erlaubt, und mein Edge hier erbricht sich auch darüber.

Grund laut MDN: Date-Objekte sind nicht localized. Was gelogen ist, denn ein Date kennt ja seinen Timezone-Offset. Aber das ist ihnen vielleicht nicht local genug (ich sag nur Europe/Busingen...)

Aber ich nehme an, dass es Dir vor allem um ein gemeinsames Date/Time Eingabefeld geht. Das bekommst Du mit datetime-local nicht unbedingt. Soweit ich weiß, hat der Firefox einen Bug und gibt Dir keinen Timepicker.

Das Sekundenproblem habe ich bei mir nicht (im Firefox hatte ich es auch nicht) - welchen Browser verwendest Du?

Die 2 Stunden Differenz klingen nach Localtime/UTC-Time, dein Browser scheint - specwidrig - ein Date für valueAsDate zu akzeptieren, verwendet aber die UTC-Zeit. Könnte man mit setUTCHours() adressieren, aber ich würde das lassen.

Nimm lieber (new Date()).toISOString().substring(0,10) für das Date und pack es in eigene Eingabefelder mit type="date". Ist zwar lästiger, aber portabler, glaub ich.

Oder mein Knoff-Hoff ist wiedermal veraltet.

Rolf

--
sumpsi - posui - obstruxi