如何处理转换为TimeStamp格式的日期和时间

How to handle date and time to convert to TimeStamp format

提问人:Jorge 提问时间:8/26/2023 更新时间:8/26/2023 访问量:65

问:

我需要能够将日期和时间转换为 DateTime 格式,如下所示:“08/23/2023 09:30:00” 提前致谢。

JavaScript 日期 时间

评论


答:

0赞 Shodan4004 8/26/2023 #1
const dateTimeString = '08/23/2023 09:30:00';
const [datePart, timePart] = dateTimeString.split(' ');

const [month, day, year] = datePart.split('/');
const [hour, minute, second] = timePart.split(':');

const formattedDateString = `${year}-${month}-${day}T${hour}:${minute}:${second}`;
const dateTimeObject = new Date(formattedDateString);

console.log(dateTimeObject); // Output: Wed Aug 23 2023 09:30:00 GMT+0000 (Coordinated Universal Time)

---编辑---

const date = new Date('08/23/2023 10:30:00');

const options = {
  timeZone: 'America/Argentina/Buenos_Aires',
  hour: 'numeric',
  minute: 'numeric',
  second: 'numeric',
};

const formattedTime = new Intl.DateTimeFormat('en-US', options).format(date);
console.log(formattedTime); // Output: 10:30:00

这应该有效,在提出问题时提供快速建议,尝试提供一些代码以更好地阐明您要实现的目标。此外,我通过询问 Chat-GPT 在 2 秒内得到了答案,我建议您在需要大量代码时使用它

评论

0赞 Jorge 8/26/2023
它运行良好,但在阿根廷,我们有 GMT-3。有没有办法避免这种更正,如果时间是 10:30:00,它会向我显示该时间而不是 13:30:00
0赞 Jorge 8/26/2023
抱歉,这里的格式时间是“23/08/2023 09:30:00”,而不是“08/23/2023 09:30:00”
0赞 Jorge 8/26/2023
我表达错了,我需要的是转换为时间戳“08/25/23 10:30:00”,但不应用 GMT-3
0赞 Jorge 8/26/2023
第一种方法工作正常,在下一行中为 GMT 区域添加 Z 并求解。const formattedDateString = ;感谢您的帮助!!${year}-${month}-${day}T${hour}:${minute}:${second}Z
0赞 RobG 8/26/2023
解析一个字符串以为内置解析器创建另一个字符串是没有意义的。获得零件后,只需将它们直接传递给 Date 构造函数:。若要将值视为 UTC,请使用 (返回时间值,而不是 Date,但将其包装起来将返回 Date)。new Date(year, month-1, day, hour, minute, second).getTime()Date.UTC(year, month-1, ...)new Date(...)