Javascript 如何将字符串转换为Datetime对象?
我正在处理一个旧数据库。我需要互相比较日期。一种日期类型是Javascript 如何将字符串转换为Datetime对象?,javascript,datetime,Javascript,Datetime,我正在处理一个旧数据库。我需要互相比较日期。一种日期类型是datetime,另一种是字符串 当我试图转换 07/25/2019 06:30AM 使用新日期(Date.parse(2019年7月25日06:30AM)) 我得到了无效日期的错误信息 new Date('07/25/2019 06:30 AM') 但是您的日期格式无效,因为它需要时间(06:30)和AM之间的空间,请重试 new Date(Date.parse("07/25/2019 06:30")) 你不需要AM,它对于06年
datetime
,另一种是字符串
当我试图转换
07/25/2019 06:30AM
使用新日期(Date.parse(2019年7月25日06:30AM))
我得到了无效日期的错误信息
new Date('07/25/2019 06:30 AM')
但是您的日期格式无效,因为它需要时间(06:30
)和AM
之间的空间,请重试
new Date(Date.parse("07/25/2019 06:30"))
你不需要AM,它对于06年的时间本身来说是多余的。
如果您使用6:30而不是06:30,我可以看到使用该选项。您可以通过两种方式实现:
- 删除AM:
- 在小时和上午之间添加空格:
尝试使用以下方法来避免:
我认为这对你有帮助。通常的建议是
let dt = new Date('07/25/2019 06:30');
alert(dt);
let dt = new Date('07/25/2019 06:30 AM');
alert(dt);
let date_string = "07/25/2019 06:30 AM"
let [M,d,y,h,m,s] = date_string.split(/[/ :]/);
h = (s == 'AM') ? h : (parseInt(h) + 12);
let yourDate = new Date(y, parseInt(M)-1, d, h, parseInt(m));
console.log(`yourDate ${yourDate}`);