有沒有什麼辦法可以將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