时间格式化函数。。。

来源:互联网 发布:心动网络用户中心 编辑:程序博客网 时间:2024/05/20 08:24

哈哈,没写的了,刚翻了半天箱子,忽发现原先给人答帖子的时候有人问过这样一个问题。。。

<script type="text/javascript">
var dateObject = {
//不考虑IE5.5以下版本浏览器的话可以写简单一些(目前就是,主要是replace里放函数需要5.5+)
    strDate : {
    //关键字
        "一" : 1, "二" : 2, "三" : 3, "四" : 4, "五" : 5, "六" : 6, "七" : 7, "八" : 8, "九" : 9, "零" : 0, "十" : "十", "○" : 0
    },
    replaceDate : function (date) {
    //替换字符时间
        var ndate = date.replace(/./g, function (a) {
            return dateObject.strDate[a];
        }), number = ndate.split("十");
        return (number.length == 2 ? (number[0] || "1") + (number[1] || "0") : ndate);
    },
    isDate : function (y, m, d) {
    //判断日期是否为有效
        var date, y, m, d;
        date = new Date(y, m - 1, d);
        return (y == date.getFullYear() && m == date.getMonth() + 1 && d == date.getDate());
    },
    formatDateTime : function (time, nbsp) {
    //修改日期格式
        var y, m, d;
        var numDatePattern = /^(/d{4})[///.年/- ](/d{1,2})[///.月/- ](/d{1,2})日?$/;
        var strDatePattern = /^([零○一二三四五六七八九十]{4})年([零一二三四五六七八九十]{1,2})月([零一二三四五六七八九十]{1,3})日$/;
        if (!nbsp) nbsp = "-";
        if (numDatePattern.test(time) || strDatePattern.test(time)) {
            y = RegExp.$1, m = RegExp.$2, d = RegExp.$3;
            if (!parseInt(y)) {
                y = dateObject.replaceDate(y);
                m = dateObject.replaceDate(m);
                d = dateObject.replaceDate(d);
            }
        } else return null;
        return (dateObject.isDate(y, m, d) ? y + nbsp + (m.length == 2 ? m : "0" + m) + nbsp + (d.length == 2 ? d : "0" + d) : null);
    }
};

function show(date_value) {
//显示结果
    document.write(date_value + "<br //>修改为:" + dateObject.formatDateTime(date_value) + "<hr //>");
}
show("二零零零年十月三十一日");
show("二零零零年十一月三十日");
show("2000/11/12");
show("2000年11月12日");
show("2000.11.12");
show("二零零零年十一月十二日");
show("二零零零年十月十二日");
show("二零零零年一月十二日");
show("二○○一年一月十二日");
show("2000-1-12");
window.onload = function () {
    document.getElementById("wc").onfocus = new Function("this.value = dateObject.formatDateTime(this.value);");
};
</script>
<input id="wc" /> 

原创粉丝点击