Why I have not found a good js date-time picker

In my admin dashboard applications, I have an input field with a date-time input. It's important for me that the input field itself is in UTC, the same time that is stored in the database. It should not be the local time of the browser.

For example, I live in Berlin, so we have currently UTC + 1, so its 15:00 if its actually 14:00 UTC. When I enter the time 15:00 in the input, I expect that my backend gets 15:00 send, but its actually 14:00 UTC send to the backend.

I tried the plugin flatpickr, because this plugin also allows that the user can edit date-time via keyboard. But, it turned out its not possible to show UTC time regardless of the browser setting:

One workaround is mentioned in the commends to change the formatDate like this:

datePickerConfig: {
    dateFormat: 'Y-M-D',
    altInput: true,
    altFormat: 'Y-M-D',
    locale: null,
    formatDate: (date, format, locale) => {
        // locale can also be used
        var formatDate = moment.tz(date, 'Etc/UTC')
        return formatDate.format(format);
    }
},

However, this has the downside that when the user selects '15:00', it will actually select 14:00.. But that was the closest that I found.

The other plugins that I tested had the same issue. I could not show date in UTC, and on top, some of them didn't allow the user to manually edit the date, like vue3datepicker.

Anyhow. As this is dashboard for support staff, I changed it to a regular text input. Looks like the world is not ready yet for UTC dateinput formats.