将军事时间转换为标准时间

时间:2012-10-16 19:16:37

标签: javascript

function checkTime(item) {
    if((item.value == "") || (doc.findItem('warning_checkbox').value == '1'))
        return true;
    if(fixtime(item,true,2)) {
        if(item.value/1 < "0800" || item.value > "1700") {
            item.value = "";
            alert("between 8 AM and 5 PM.");
            return true;
        }
    } else {
        item.value = "";
        alert("Invalid Time.  Time must be between 8 AM and 5 PM.");
        return true;
    }
    if(item.value < "0800" && item.value > "1700") {
        item.value = "";
        alert("between 8 AM and 5 PM.");
        return true;
    }
    fixtime(item,true,0);
}

我正在使用此功能将标准时间转换为军事,但我无法弄清楚如何将军事转换为标准时间。一个例子是1525 = 03:25 pm

2 个答案:

答案 0 :(得分:0)

您正在尝试将字符串与整数进行比较。您可以使用parseInt()将字符串转换为整数。如果您没有将数字检索为字符串,而只是比较两个数字,请跳过引号。

您的更新代码应为:

function checkTime(item) {
    if((parseInt(item.value) == "") || (doc.findItem('warning_checkbox').value == '1'))
        return true;
    if(fixtime(item,true,2)) {
        if((parseInt(item.value) / 1) < 0800) || parseInt(item.value) > 1700) {
            item.value = "";
            alert("between 8 AM and 5 PM.");
            return true;
        }
    } else {
        item.value = "";
        alert("Invalid Time.  Time must be between 8 AM and 5 PM.");
        return true;
    }
    if(parseInt(item.value) < 0800 && parseInt(item.value) > 1700) {
        item.value = "";
        alert("between 8 AM and 5 PM.");
        return true;
    }
    fixtime(item,true,0);
}

答案 1 :(得分:0)

这应该这样做:

function checkTime(item) {
    var time = parseInt(item.value);
    if(isNaN(time) || (doc.findItem('warning_checkbox').value == '1'))
        return true;
    if(fixtime(item,true,2)) {
        if(time > 800 && time < 1700) {
            item.value = "";
            alert("between 8 AM and 5 PM.");
            return true;
        }
    } else {
        item.value = "";
        alert("Invalid Time.  Time must be between 8 AM and 5 PM.");
        return true;
    }
    if(time > 800 && time < 1700) {
        item.value = "";
        alert("between 8 AM and 5 PM.");
        return true;
    }
    fixtime(item,true,0);
}