Javascript
:我有一个函数,它有s参数s包含这个s=07:05:45PM;
s有时间,这是在字符串的形式,我想使用它在new Date()
,但给出错误,我不得不得到小时分钟秒转换为24小时格式,请帮助我输出:无效日期
function time Conversion(s) {
var date=new Date(s);
console.log(date);
}
Javascript
:我有一个函数,它有s参数s包含这个s=07:05:45PM;
s有时间,这是在字符串的形式,我想使用它在new Date()
,但给出错误,我不得不得到小时分钟秒转换为24小时格式,请帮助我输出:无效日期
function time Conversion(s) {
var date=new Date(s);
console.log(date);
}
5条答案
按热度按时间6qqygrtg1#
根据specification,你可以将
dateString
作为参数传递给Date
构造函数。这里有一堆dateString
限制,在你的情况下,你的dateString
(名为s
)对于日期构造函数是无效的(实际上,你的s
甚至没有任何日期,它只包含时间)。可能的解决方案是手动处理
s
参数:剪切文字部分,按:
分割时间,然后按顺序year, month, date, hours, minutes, seconds
将参数传递给Date
构造函数,或者构造自己的ISO String
,格式为:请注意,这两种情况下的小时数都应该是24小时格式,因此您应该手动处理12小时格式的小时数。
6ju8rftf2#
Why does Date.parse give incorrect results?中介绍了从内置解析器获得无效Date的原因
要将字符串(如07:05:45PM)转换为24小时时间,您可以解析这些部分并生成一个新字符串,如果它以PM结束,则向小时添加12,如果它以AM结束,则不添加(并将12am更改为00)。
您应该验证输入字符串,并可能允许缺失秒数。
jei2mxaa3#
从时间字符串中删除AM/PM(需要24小时时间字符串)
现在做你的基于时间的操作。
p1tboqfb4#
xzv2uavs5#
请尝试使用
Date.parse(string)
。参见referene。