Wenn Sie keine große Bibliothek importieren wollen, können Sie einfach Intl.DateTimeFormat um Datumsobjekte in verschiedene Zeitzonen zu konvertieren.
// Specifying timeZone is what causes the conversion, the rest is just formatting
const options = {
year: '2-digit', month: '2-digit', day: '2-digit',
hour: '2-digit', minute: '2-digit', second: '2-digit',
timeZone: 'Asia/Jakarta',
timeZoneName: 'short'
}
const formatter = new Intl.DateTimeFormat('sv-SE', options)
const startingDate = new Date("2012/04/10 10:10:30 +0000")
const dateInNewTimezone = formatter.format(startingDate)
console.log(dateInNewTimezone) // 12-04-10 17:10:30 GMT+7
Zeitverschiebungen, Sommerzeit und Änderungen in der Vergangenheit werden für Sie übernommen.
UPDATE
Außerdem gibt es diese neue Zeitliche das unter anderem Zeitzonen verwaltet. Zum Beispiel nur Daten oder nur Zeit. Es ist derzeit noch experimentell
Es soll das alte Erbe ersetzen Date
var isoDate = new Date().toJSON() // eg: '2022-11-18T13:56:09.697Z'
Temporal.Instant.from(isoDate).toZonedDateTimeISO('Europe/Stockholm')