js关于时间的格式问题
我们在js中的时间格式一般有
2014-09-09
2014-9-9
2014/09/09
2014/9/9
这几种显示显示中只有第二种有问题
var date =new Date("2014-9-9“)
这种方式是有问题的,行不通
一般的情况就是将”-“替换成”/”
下面代码:
<script type="text/javascript" > String.prototype.Trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); } //是否是正确的长日期 String.prototype.isLongDate = function () { var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); if (r == null) { return false; } var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]); return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]); } //是否是正确的短日期 String.prototype.isShortDate = function () { var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); if (r == null) { return false; } var d = new Date(r[1], r[3] - 1, r[4]); return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]); } //是否是正确的日期 String.prototype.isDate = function () { return this.isLongDate() || this.isShortDate(); } function valid() { var id = document.getElementById("<%=txtOrderID.ClientID %>").value; var beginTime = document.getElementById("<%=txtBeginTime.ClientID %>").value; var endTime = document.getElementById("<%=txtEndTime.ClientID %>").value; id = id.Trim(); beginTime = beginTime.Trim(); endTime = endTime.Trim(); if (id == "") { // if (isNaN(id)) { // alert("请输入合适的订单号");return false; // } if (!beginTime.isDate()) { alert("请输入合适的开始时间!");return false; } if (!endTime.isDate()) { alert("请输入合适的结束时间!"); return false; } beginTime = beginTime.replace(/-/gi, "/"); endTime = endTime.replace(/-/gi, "/"); var begin = new Date(beginTime); var end = new Date(endTime); if (begin > end) { alert("开始时间不能大于结束时间!"); return false; } begin.setDate(begin.getDate() + 7); if (begin < end) { alert("时间跨度不能超过一周!"); return false; } } } </script>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。