一千萬個為什麽

搜索

用於不同時區的Javascript DateFormat

我是一名Java開發人員,我習慣使用SimpleDateFormat類,它允許我通過設置時區將任何日期格式化為任何格式。

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");

sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
System.out.println(sdf.format(date));//Prints date in Los Angeles

sdf.setTimeZone(TimeZone.getTimeZone("America/Chicago"));
System.out.println(sdf.format(date));//Prints same date in Chicago

SimpleDateFormat是一個非常簡潔的Java解決方案,但不幸的是我在Javascript中找不到任何類似的替代方案。

我正在 Javascript 中擴展Date原型以完全相同。我有Unix格式的日期,但我想在不同的時區格式化它們。

Date.prototype.format = function(format, timezone) {
   //Now what?
    return formattedDate;
}

我正在尋找一種巧妙的方法來做到這一點,而不是一個黑客。

謝謝

最佳答案

JavaScript沒有構建支持其他時區而不是本地時區。您只能以當地時間或UTC時間表示日期。無法更改Date對象的時區偏移量。

因此,沒有“整潔”的方法來解決您的問題。

轉載註明原文: 用於不同時區的Javascript DateFormat