当小时为" 12"时,javascript时间格式问题

时间:2018-06-08 23:45:37

标签: javascript pdf foxit

我有PDF格式,但它需要能够以电子方式填写,或者使用旧式笔填写。因此,它包括时间计算与" Time In"和#34;超时"。为简化起见,表格包括选择" am"或" pm"因此。看到 form entry sample

所以我认为我已经提出了一种切割方式,如果以电子方式使用,我可以允许用户在" h:MM"中输入时间。格式并结束" am"或" pm"选择将结果放入隐藏字段中,使用" h:MM tt"格式并相应地执行我的时间计算。除了" 12:xx"之外,这个新隐藏字段的结果非常适合所有时间。当你选择" pm"它使得连续结果" 0:00 am"如果你选择" am"结果" 12:00 pm"。我无法弄清楚如何打击它。这是我用来在隐藏字段中创建结果的代码:

//format for inputted time
var TimeFormat = "h:MM";
// field names
var str1Field = "TimeIn"
var str2Field = "TimeInTT"
// get field values
var str1 = this.getField(str1Field).value;
var str2 = this.getField(str2Field).value;
// concat strings if there is data
if(str1 != "" && str2 != ""){
var res = (TimeFormat, str1) + " " + str2;
event.value = res;
}

" TimeIn"是一个时间领域" h:MM"和" TimeIn TT"是" am"或" pm"。非常感谢任何帮助。也许还有更好的方法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。回顾一下,问题是当我试图将格式化为“h:MM”的字段与提供“am”或“pm”的单选按钮选项连接并将结果输出到格式为“h:MM tt”的字段时“,上述JavaScript除了正午(中午12点)和午夜外都可以使用。 (12:00 AM)。经过几个小时的尝试组合,使用

event.value = res.replace("12:00", "0:00");

给了我想要的结果。同样,这只是在计算格式为“h:MM tt”的字段时的问题。如果它只是一个文本字段,则没有问题。但是,我需要它作为额外时间计算的时间字段。因此,完成后的脚本在清理后会如下所示:

 // field names
 var str1Field = "Day1Pd1TimeIn" //Text Field
 var str2Field = "Day1Pd1TimeInPeriod" //Radio Button
 // get field values
 var str1 = this.getField(str1Field).value;
 var str2 = this.getField(str2Field).value;
 // concat strings if there is data
 if(str1 != "" && str2 != "Off")
 {
 var res = str1 + " " + str2;
 event.value = res.replace("12:00", "0:00");
 }

也许这将有助于将来的某些人。