我正在尝试查找时区,日期格式(d.m.Y, Y/m/d,…)和时间格式(H: I, H: I A,…)。
我用Intl.DateTimeFormat().resolvedOptions().timeZone
得到时区…但是我怎么得到其他的数据呢?
我通过XMLHttpRequest
将数据传递给PHP,并希望在之后指定日期和时间格式。
解决方案
没有办法在你想要的输出中获得日期格式,因为它不是标准化的,但是你可以使用formatToParts()
来获得不同部分的值:
const parts = new Intl.DateTimeFormat(undefined,
{ dateStyle: 'short', timeStyle: 'short' }
).formatToParts();
console.log(parts);
可以将其转换为所需的格式。您可能需要更改dateStyle
或timeStyle
选项。
然而,正如在评论中指出的那样,我建议不要在后端或数据库端处理时区和日期格式,而是在那里使用ISO日期字符串。要格式化日期,可以使用format
函数:
const myDate = new Date('2023-03-31T09:31:47.362Z');
const intlDateTimeFormat = new Intl.DateTimeFormat(undefined,
{ dateStyle: 'short', timeStyle: 'short' });
const formattedDate = intlDateTimeFormat.format(myDate);
console.log(formattedDate);