📅  最后修改于: 2023-12-03 15:09:31.434000             🧑  作者: Mango
在JavaScript中,我们可以使用内置的Date对象和一些方法来将给定的时间字符串转换为日期对象。
我们可以使用Date.parse()
方法来解析时间字符串。但是,它只能解析使用ISO格式的字符串。因此,我们需要将时间字符串转换为ISO格式。
const timeString = '10:30 pm';
const isoTimeString = new Date(`1970-01-01T${timeString}`).toISOString();
console.log(isoTimeString); // "1970-01-01T22:30:00.000Z"
上面的代码中,我们将给定的时间字符串10:30 pm
与一个固定的日期字符串1970-01-01T
组合,并将其作为参数传递给Date
构造函数。然后,我们使用toISOString()
方法将日期对象转换为ISO格式的日期字符串。
使用new Date()
构造函数,我们可以将该ISO格式的字符串转换为日期对象。
const date = new Date(isoTimeString);
console.log(date); // Date { Sat Jan 01 1970 22:30:00 GMT+0800 (中国标准时间) }
我们可以使用内置的toLocaleTimeString()
方法将日期对象格式化为小时和分钟。
const formattedTime = date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
console.log(formattedTime); // "10:30 PM"
function convertTimeStringToDate(timeString) {
const isoTimeString = new Date(`1970-01-01T${timeString}`).toISOString();
const date = new Date(isoTimeString);
const formattedTime = date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
return formattedTime;
}
const time = '10:30 pm';
const date = convertTimeStringToDate(time);
console.log(date); // "10:30 PM"
以上是将hh:mm am/pm
格式的时间字符串转换为日期对象的方法。现在,您可以将这个函数添加到您的JavaScript项目中,方便地将时间字符串转换为日期对象。