Звучит так, как будто вы просите преобразовать из определенного часового пояса в местный часовой пояс пользователя (каким бы он ни был). Для этого вам не требуется обнаружение часового пояса, но в настоящее время вам do нужна библиотека. (Ответы, которые предлагают использовать toLocaleString
с параметром часового пояса, неверны, так как эта функция преобразует в определенного часового пояса, но не может идти в другом направлении.)
Поскольку вы упомянули Luxon , я дам конкретный ответ Luxon:
luxon.DateTime.fromFormat('2019-04-24 12:00:00', // the input string
'yyyy-MM-dd HH:mm:ss', // the format of the input string
{ zone: 'America/New_York'}) // the time zone of the input
.toLocal() // convert to the user's local time
.toFormat('yyyy-MM-dd HH:mm:ss') // return a string in the same format
//=> "2019-04-24 09:00:00"
Эта возможность также предоставляется другими библиотеками, такими как date-fns-timezone , js-Joda или Moment-Timezone , но это что-то еще не встроено в JavaScript.