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