Javascript Luxon将UTC iso时间转换为特定时区时间(毫秒)

Javascript Luxon将UTC iso时间转换为特定时区时间(毫秒),javascript,datetime,luxon,Javascript,Datetime,Luxon,我正在使用luxon按照timzone以毫秒为单位转换日期。我以ISO格式接收时间,但当我应用luxon转换日期时,它会转换,但当我以毫秒为单位解析时间时,我与当前和指定的timzone没有毫秒差异 console.log("== Local Zone == "); console.log(DateTime.local().zoneName); const sd = DateTime.fromISO("2019-07-27T07:37:49.211Z");

我正在使用luxon按照timzone以毫秒为单位转换日期。我以ISO格式接收时间,但当我应用luxon转换日期时,它会转换,但当我以毫秒为单位解析时间时,我与当前和指定的timzone没有毫秒差异

console.log("== Local Zone == ");
console.log(DateTime.local().zoneName);
const sd = DateTime.fromISO("2019-07-27T07:37:49.211Z");
console.log(sd.toMillis());

console.log("== Updated Zone == ");
Settings.defaultZoneName = "America/Chicago";
console.log(DateTime.local().zoneName);
const hd = DateTime.fromISO("2019-07-27T07:37:49.211Z");
console.log(hd.toMillis());

任何帮助/建议都将不胜感激。

您将获得相同的值(
1564213069211
),因为输入字符串(
“2019-07-27T07:37:49.211Z”
)以表示UTC偏移量的
Z
结尾

因此,Luxon只需考虑UTC+0偏移量,并相应地显示结果

const DateTime=luxon.DateTime;
常量设置=luxon.Settings;
console.log(“==本地区域==”);
log(DateTime.local().zoneName);
const sd=日期时间从ISO(“2019-07-27T07:37:49.211Z”);
log(sd.toMillis());
const sdNoZ=DateTime.fromISO(“2019-07-27T07:37:49.211”);
log(sdNoZ.toMillis());
console.log(“==更新区域==”);
Settings.defaultZoneName=“美国/芝加哥”;
log(DateTime.local().zoneName);
const hd=日期时间从ISO(“2019-07-27T07:37:49.211Z”);
console.log(hd.toMillis());
const hdNoZ=DateTime.fromISO(“2019-07-27T07:37:49.211”);
log(hdNoZ.toMillis())

谢谢,我们是否需要从字符串中删除z以获取特定时区的日期?
“2019-07-27T07:37:49.211Z”
具有“完整”信息日期、时间+时区,并且它表示给定的时间瞬间(请参阅时区转换器)。将其转换为毫秒将始终显示
1564213069211
。删除Z将删除时区信息,因此它将根据所考虑的时区代表不同的时间瞬间。