我正在创建通常会在文本框中输入日期和时间的内容。如何设置仅在文本框中显示MM / DD / YYYY ##:##:##的日期和时间。我希望它很简单,可以运行到任何版本的IE。
这是我的代码:
<form>
<input name="StartDate" size="50">
<input onclick="this.form.StartDate.value = new Date();" type="button" value="Start date">
<input name="StopDate" size="50">
<input onclick="this.form.StopDate.value = new Date();" type="button" value="Stop date">
</form>
答案 0 :(得分:0)
您可以在日期对象上使用getMonth,getYear方法等 - 这应该在旧版IE中支持。
var myDate = new Date();
this.form.StopDate.value = (myDate.getMonth() + 1) + "/" + myDate.getDate() + "/" + myDate.getFullYear()+ ' ' + myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds();
请参阅Docs
将此定义为函数可能是有意义的:
function getDateString(){
var myDate = new Date();
return (myDate.getMonth() + 1) +
"/" + myDate.getDate() +
"/" + myDate.getFullYear() +
' ' + myDate.getHours() +
":" + myDate.getMinutes() +
":" + myDate.getSeconds();
}
然后在按钮中使用:
<input onclick="this.form.StartDate.value = getDateString();" type="button" value="Start date">
您可能还需要处理将前导0添加到您的日期,此代码段负责处理此问题:
function getDateString(){
var myDate = new Date();
return padDatePart(myDate.getMonth() + 1) +
"/" + padDatePart(myDate.getDate()) +
"/" + myDate.getFullYear()+
' ' + padDatePart(myDate.getHours()) +
":" + padDatePart(myDate.getMinutes()) +
":" + padDatePart(myDate.getSeconds());
}
function padDatePart(part){
return ('0'+part).slice(-2);
}
<form>
<input name="StartDate" size="50">
<input onclick="this.form.StartDate.value = getDateString();" type="button" value="Start date">
<input name="StopDate" size="50">
<input onclick="this.form.StopDate.value =getDateString();" type="button" value="Stop date">
</form>