我正在尝试从时区 (NZT) 获取当前日期和时间,但不确定如何获取。目前,当我创建一个新日期时,它的时区设置为 GMT-0(或类似的东西,反正不是我想要的)。我需要能够在 NZT 中获取日期和时间(bot 不在新西兰运行,所以如果这是一个问题,那么......)感谢所有帮助。谢谢!
答案 0 :(得分:1)
我建议您使用 luxon。 它是最好的日期时间依赖项之一,远优于 JS-Inbuilt 日期时间系统。
以下代码应该可以满足您的需求:
const {
DateTime
} = require('luxon');
var local = DateTime.local();
var rezoned = local.setZone("Pacific/Auckland");
如果确实需要将日期对象格式化为默认的 JavaScript 对象,可以使用以下代码:
const {
DateTime
} = require('luxon');
function localDate() {
let local = DateTime.local(); //initialize luxon Date-Object
let rezonedString = local.setZone("Pacific/Auckland").toString(); //set timezone of Date-Object and convert to string
var dateString = rezonedString.slice(0, -10) + "z"; //trim string to create default JavaScript Date-OBject
var today = new Date(dateString); //convert dateString to JS Date-Object
//fix Month index
today.setMonth(today.getMonth() + 1);
return today;
}
//set variable today to localDate in NZ
var today = localDate();
<块引用>
注意:这是 JavaScript 的解决方案!这是因为你标记了 discord.js,它是 Discord API 的 javaScript 框架