有没有什么办法可以将12小时时间格式转换为24小时格式? 我对JavaScript并不擅长,所以仍然很惊讶,我甚至可以设法达到这个目标。Javascript 12小时至24格式转换器
我想要做的是将时间从12小时转换为24小时,因此我可以做比较,就像endDate大于startDate一样,但我无法理解的是如何将我收到的12小时格式有效的24小时格式。
$('#de_endTime').bind('blur', function()
{
sDate = $('#de_startDate').val();
startTime = $('#de_startTime').val();
endTime = $('#de_endTime').val();
if (startTime == ""){
alert("First input the start time");
$('#de_startTime').focus();
}
dSplit = sDate.split("-");
dYear = dSplit[0];
dMonth = dSplit[1] - 1;
dDay = dSplit[2];
stSplit = startTime.split(":");
stHour = stSplit[0];
stMin = stSplit[1].split(" ")[0];
stAmPm = stSplit[1].split(" ")[1];
etSplit = endTime.split(":");
etHour = etSplit[0];
etMin = etSplit[1].split(" ")[0];
etAmPm = etSplit[1].split(" ")[1];
fullStartDate = getDateObject(dYear, dMonth, dDay, stHour, stMin);
fullEndDate = getDateObject(dYear, dMonth, dDay, etHour, etMin);
if (fullStartDate - fullEndDate > 0){
alert("Start Time cannot be higher than End Time!");
}
});
这里是getDateObject()函数
function getDateObject(year, month, day, hours, minutes) {
var newDate = new Date();
newDate.setFullYear(year);
newDate.setMonth(month);
newDate.setDate(day);
newDate.setHours(hours);
newDate.setMinutes(minutes);
newDate.setSeconds(0);
newDate.setMilliseconds(0);
return newDate;
}
我不知道如果我提供足够的细节,但请让我知道如果didnt :) 谢谢:)
[编辑] 新的代码,这似乎是输出的一切罚款到目前为止:)
$('#de_endTime').bind('blur', function()
{
sDate = $('#de_startDate').val();
startTime = $('#de_startTime').val();
endTime = $('#de_endTime').val();
if (startTime == ""){
alert("First input the start time");
$('#de_startTime').focus();
}
dSplit = sDate.split("-");
dYear = dSplit[0];
dMonth = dSplit[1];
dDay = dSplit[2];
fullIsoDate = dMonth + "/" + dDay + "/" + dYear;
//alert(fullIsoDate);
var fullStartDate = new Date(startTime + ' ' + fullIsoDate);
var fullEndDate = new Date(endTime + ' ' + fullIsoDate);
alert(fullStartDate);
if (fullStartDate - fullEndDate > 0){
alert("Start Time cannot be higher than End Time!");
}
alert(fullEndDate > fullStartDate)
});
我似乎有它的工作,感谢您的提示。 代码也较短,这是很好,但我想知道,因为时间不再分裂了我将如何做验证,以确保输入的时间是正确的?我已经对输入字段进行了检查以约束输入,我是否应该关注自己的进一步验证,或者应该足够吗? (更新的代码是在第一篇文章)。 – Zubair1 2011-04-19 19:45:28
@ Zubair1因为您使用的是jQuery,所以您可能需要查看一些非常棒的jQuery插件,它们用于表单验证(我建议使用http://bassistance.de/jquery-plugins/jquery-plugin-validation/)或其他路线是使用日期/时间选择器,所以你知道用户提供了有效的输入。 – 2011-04-19 20:04:20
谢谢你,但我不认为我想包括一个单独的图书馆只是为了这个验证,我见过的大多数只是矫枉过正。不过,我使用日期时间选择器插件:)应该是足够的,但? – Zubair1 2011-04-19 20:08:13