Я хочу преобразовать Сингапур DateTime в любой заданный выбор часового пояса пользователем и отобразить DateTime из выбранного часового пояса (то есть Pacific/Wake (GMT+12: 00) ').
Поэтому я написал функцию ниже
function convertTrainerInSingaporeAvailableTimeToClientLocationTime() {
const { singaporeDate, singaporeTime } = getCurrentSingaporeDateAndTime(),
singaporeDatetime = new Date(
singaporeDate.replace(/(\d+)\/(\d+)\/(\d+)/, '$3-$1-$2') + 'T' + singaporeTime,
),
timeDifference =
8 + -1 * parseInt('Pacific/Wake (GMT+12:00)'.match(/([+-]\d+:\d+)/gi)[0].split(':')[0]),
timezoneDate = new Date(singaporeDatetime.getTime() - timeDifference * 60 * 60 * 1000),
options: Intl.DateTimeFormatOptions = {
timeZone: 'Pacific/Wake',
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
},
timezoneDatetime = new Intl.DateTimeFormat('en-GB', options).format(timezoneDate)
console.log(timeDifference)
console.log(singaporeDatetime)
console.log(singaporeTime)
console.log(singaporeDate)
console.log(timezoneDatetime)
console.log(new Date(singaporeDatetime.getTime()))
}
function getCurrentSingaporeDateAndTime() {
const date = new Date(),
singaporeTime = date.toLocaleTimeString('en-GB', { timeZone: 'Asia/Singapore', hour12: false }),
singaporeDate = date
.toLocaleDateString('en-GB', { timeZone: 'Asia/Singapore' })
.replace(/(\d+[/])(\d+[/])/, '$2$1')
return {
singaporeTime,
singaporeDate,
}
}
< /code>
Когда я отображаю результаты, я вижу, что есть разница в один час от ожидаемого ответа. Я пытался напрямую использовать SingaporedAtetime с LocalEString, чтобы получить дату и время соответственно, но это все еще не работает.
Пожалуйста, мне нужна помощь в том, как решить эту проблему.>
Подробнее здесь: https://stackoverflow.com/questions/795 ... with-javas
Попытка преобразовать сингапурское дату в любое датное время с датой часового пояса с JavaScript ⇐ Javascript
Форум по Javascript
1744222556
Anonymous
Я хочу преобразовать Сингапур DateTime в любой заданный выбор часового пояса пользователем и отобразить DateTime из выбранного часового пояса (то есть Pacific/Wake (GMT+12: 00) ').
Поэтому я написал функцию ниже
function convertTrainerInSingaporeAvailableTimeToClientLocationTime() {
const { singaporeDate, singaporeTime } = getCurrentSingaporeDateAndTime(),
singaporeDatetime = new Date(
singaporeDate.replace(/(\d+)\/(\d+)\/(\d+)/, '$3-$1-$2') + 'T' + singaporeTime,
),
timeDifference =
8 + -1 * parseInt('Pacific/Wake (GMT+12:00)'.match(/([+-]\d+:\d+)/gi)[0].split(':')[0]),
timezoneDate = new Date(singaporeDatetime.getTime() - timeDifference * 60 * 60 * 1000),
options: Intl.DateTimeFormatOptions = {
timeZone: 'Pacific/Wake',
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
},
timezoneDatetime = new Intl.DateTimeFormat('en-GB', options).format(timezoneDate)
console.log(timeDifference)
console.log(singaporeDatetime)
console.log(singaporeTime)
console.log(singaporeDate)
console.log(timezoneDatetime)
console.log(new Date(singaporeDatetime.getTime()))
}
function getCurrentSingaporeDateAndTime() {
const date = new Date(),
singaporeTime = date.toLocaleTimeString('en-GB', { timeZone: 'Asia/Singapore', hour12: false }),
singaporeDate = date
.toLocaleDateString('en-GB', { timeZone: 'Asia/Singapore' })
.replace(/(\d+[/])(\d+[/])/, '$2$1')
return {
singaporeTime,
singaporeDate,
}
}
< /code>
Когда я отображаю результаты, я вижу, что есть разница в один час от ожидаемого ответа. Я пытался напрямую использовать SingaporedAtetime с LocalEString, чтобы получить дату и время соответственно, но это все еще не работает.
Пожалуйста, мне нужна помощь в том, как решить эту проблему.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79565045/trying-to-convert-singapore-date-time-to-any-given-timezone-date-time-with-javas[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия