如果 JS 日期是 UTC,Luxon 减去一天
Luxon substracting one day if JS date is UTC
我通过以下方式与 Luxon 约会:
const date = DateTime.utc(2000, 6, 23).toFormat('yyyy-MM-dd')
然后我尝试通过这样做将其转换为 JS 日期:
const jsDate = new Date(date)
最后,我将它转换回 'yyyy-MM-dd' 格式
const parsedDate = DateTime.fromJSDate(jsDate).toFormat('yyyy-MM-dd')
但它没有给我 2000-06-23,而是给我 2000-06-22。这是 Luxon 上的错误还是我需要做些什么才能获得正确的日期?
I try to convert it to a JS date by doing const jsDate = new Date(date)
呃,为什么不 date.toJSDate()
?
Instead of giving me 2000-06-23, DateTime.fromJSDate(jsDate).toFormat('yyyy-MM-dd')
gives me 2000-06-22. Is this a bug on Luxon or I need to do something to get the correct date?
根据its docs, fromJSDate
defaults to creating a DateTime
instance in the local
(system) timezone。如果您期望另一个 UTC 日期,您需要指定:
DateTime.fromJSDate(jsDate, {zone: 'utc'}).toFormat('yyyy-MM-dd')
我通过以下方式与 Luxon 约会:
const date = DateTime.utc(2000, 6, 23).toFormat('yyyy-MM-dd')
然后我尝试通过这样做将其转换为 JS 日期:
const jsDate = new Date(date)
最后,我将它转换回 'yyyy-MM-dd' 格式
const parsedDate = DateTime.fromJSDate(jsDate).toFormat('yyyy-MM-dd')
但它没有给我 2000-06-23,而是给我 2000-06-22。这是 Luxon 上的错误还是我需要做些什么才能获得正确的日期?
I try to convert it to a JS date by doing
const jsDate = new Date(date)
呃,为什么不 date.toJSDate()
?
Instead of giving me 2000-06-23,
DateTime.fromJSDate(jsDate).toFormat('yyyy-MM-dd')
gives me 2000-06-22. Is this a bug on Luxon or I need to do something to get the correct date?
根据its docs, fromJSDate
defaults to creating a DateTime
instance in the local
(system) timezone。如果您期望另一个 UTC 日期,您需要指定:
DateTime.fromJSDate(jsDate, {zone: 'utc'}).toFormat('yyyy-MM-dd')