Javascript 为什么日期格式函数返回不正确的答案?

Javascript 为什么日期格式函数返回不正确的答案?,javascript,Javascript,我需要格式化日期。我使用函数Intl.DateTimeFormat,但我不明白为什么它不能正确格式化fTime 例如: const date=新日期() console.log('日期:',日期) const dateOptions={year:'numeric',month:'numeric',day:'numeric'} const timeOptions={hour:'numeric',minute:'numeric',second:'numeric',hour12:false} con

我需要格式化日期。我使用函数Intl.DateTimeFormat,但我不明白为什么它不能正确格式化fTime

例如:

const date=新日期()
console.log('日期:',日期)
const dateOptions={year:'numeric',month:'numeric',day:'numeric'}
const timeOptions={hour:'numeric',minute:'numeric',second:'numeric',hour12:false}
const fDate=new Intl.DateTimeFormat(dateOptions).format(date)
const fTime=新的Intl.DateTimeFormat(timeOptions).format(date)
console.log('fDate:',fDate)

log('fTime:',fTime)
您正在将选项传递给
locales
参数。即使
locales
是可选的,也只是意味着不需要为其提供值;这并不意味着你可以跳过它。如果您不想为
地区提供值,而想为
选项提供值,请传递
未定义的

const date=新日期()
console.log('日期:',日期)
const dateOptions={year:'numeric',month:'numeric',day:'numeric'}
const timeOptions={hour:'numeric',minute:'numeric',second:'numeric',hour12:false}
const fDate=新的Intl.DateTimeFormat(未定义,日期选项)。格式(日期)
const fTime=new Intl.DateTimeFormat(未定义,timeOptions).format(日期)
console.log('fDate:',fDate)

console.log('fTime:',fTime)
如果您使用与预期情况相同的参数,可能会有所帮助:
('locale',options)
,不仅仅是
(options)
@deceze,但是如果我查看doc,locales是可选参数。是的,您不必传递
locales
options
。但是Javascript参数是位置性的,您很少能将参数传递到不同的参数位置。如果您想跳过
区域设置
,请尝试为其传递
未定义的
。但它与区域设置正确配合。如果您将答案表示为问题解决方案,则我可以接受。