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