我在unix中有一個時間戳,如下所示,它在 2:00時區,但我想獲得相同的日期,但在 0:00時區,使用dayjs,
console.log("TIMESTAMP: ", dayjs.unix(timestamp).format());
> TIMESTAMP: 2021-05-20T13:46:07 02:00
console.log("FIXED TIMESTAMP: ", dayjs.unix(timestamp).tz("Europe/London").format());
> FIXED TIMESTAMP: 2021-05-20T12:46:07 01:00
上面我嘗試這樣做,tz("Europe/London")但是,我不知道為什么,我的日期在“ 01:00”時區...,為什么這個函式不回傳轉換為“ 0:00”的新時間戳?
謝謝你的幫助!
uj5u.com熱心網友回復:
你試過這個插件嗎?
dayjs().utc().format()
這是一個小沙箱。
盡管它不會向您顯示 0:00 時間戳,因為它以不同的 ISO 標準呈現。這對你有用嗎?
uj5u.com熱心網友回復:
您必須包含幾個用于 UTC 和時區格式的擴展程式庫才能在 dayjs 中作業。UTC 和時區 Javascript 檔案都是必需的。我使用了 1.10.7 版,因為它們是最新的。
如果您在瀏覽器中作業,請包含以下來源。HTML:
<script src="https://unpkg.com/[email protected]/dayjs.min.js"></script>
<script src="https://unpkg.com/[email protected]/plugin/utc.js"></script>
<script src="https://unpkg.com/[email protected]/plugin/timezone.js"></script>
JavaScript:
dayjs.extend(window.dayjs_plugin_utc);
dayjs.extend(window.dayjs_plugin_timezone);
let printFormat = 'hh:mm:ssA';
let nowLocal = dayjs().utc().local().format(printFormat);
console.log(nowLocal);
console.log(dayjs().tz("America/New_York").format(printFormat));
console.log(dayjs().tz("Asia/Tokyo").format(printFormat));
請注意,“tz”(時區)物件不會掛在 unix() 函式之外,它直接附加到頂級 dayjs 物件。上面的示例采用本地時間,并以 hh:mm:ssAM|PM 格式在三個不同的時區列印它。unix 函式接受一個 Unix 時間戳并回傳一個 DayJS 物件。
這是運行上述示例的 JSFiddle:https ://jsfiddle.net/e4x507p3/2/
請注意,如果您在瀏覽器中使用擴展,這應該可以作業,如果您在 NodeJS 中作業,則需要一種不同的方法:https : //day.js.org/docs/en/plugin/loading-into-節點
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/348964.html
標籤:javascript 打字稿 约会时间 Unix
