因为JS中的Date转换格式没有“-”这种间隔符,Date.parse会生成NAN,所以只能进行转换。
<script type="text/javascript"> function changeWeddingTime() { var dt= TimeSeparatorReplace(marry_time.value); $(wedding_date).html(dt.Format("yyyy/MM/dd")); var time = dt.Format("hh:mm"); var hour = dt.Format("h"); if (parseInt(hour) >= 12) { $(wedding_time).html(time + " " + "PM"); } else { $(wedding_time).html(time + " " + "AM"); } } </script>
扩展的方法
Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": DataPrivatePad(this.getMilliseconds(), 3) //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } function DataPrivatePad(num, n) { return (Array(n).join(0) + num).slice(-n); } ///将"-"换成"/" function TimeSeparatorReplace(str) { var regEx = new RegExp("\-", "gi"); str = str.replace(regEx, "/"); if (!isNaN(Date.parse(str))) { return new Date(str); } else { return new Date();//如果失败就直接给个当前的时间好了 } }