簡體   English   中英

如何獲取時區為 int 的日期?

[英]How to get Date with timezone as int?

如何在 JS 中獲取這種格式的日期? 我嘗試使用.toISOString()但我沒有得到我需要的結果。

2022-12-22 11:35:23 -0400

謝謝

我不知道有什么快速的方法,但你可以使用這樣的方法:要在 JavaScript 中獲取格式為“YYYY-MM-DD HH:mm:ss ZZ”的日期,你可以使用以下代碼:

const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1; // months are zero-indexed, so we need to add 1
const day = date.getDate();
const hours = date.getHours();
const minutes = date.getMinutes();
const seconds = date.getSeconds();
const timeZoneOffset = date.getTimezoneOffset();
const timeZoneOffsetHours = Math.floor(Math.abs(timeZoneOffset) / 60);
const timeZoneOffsetMinutes = Math.abs(timeZoneOffset) % 60;
const timeZoneOffsetString = (timeZoneOffset < 0 ? '+' : '-') +
    (timeZoneOffsetHours < 10 ? '0' : '') + timeZoneOffsetHours +
    ':' + (timeZoneOffsetMinutes < 10 ? '0' : '') + timeZoneOffsetMinutes;

const formattedDate = `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day} ${hours}:${minutes}:${seconds} ${timeZoneOffsetString}`;

這將為您提供類似“2022-12-22 11:35:23 -0400”的字符串。

使用 vanilla JavaScript 很難做到這一點,但是使用諸如luxon類的庫很容易做到。

我們創建一個新的 DateTime object, date ,然后調用DateTime.toFormat()以所需格式顯示日期。

 const { DateTime } = luxon; const date = DateTime.now(); console.log('Formatted date:', date.toFormat('yyyy-MM-dd HH:mm:ss ZZZ'))
 <script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/3.0.1/luxon.min.js" integrity="sha512-6ZJuab/UnRq1muTChgrVxJhSgygmL2GMLVmSJN7pcBEqJ1dWPbqN9CiZ6U3HrcApTIJsLnMgXYBYgtVkJ8fWiw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

你要什么格式? 你用過日期嗎? 這是我經常使用的非常有用的庫。 日期 FNS有格式 function,您可以設置您想要的格式。 Function 返回字符串

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM