JS中如何将日期分割后,分别输出不同的类型。。。

发布网友

我来回答

1个回答

热心网友

你好,我这里有一个封装好的方法:

var parseNumber = function(num) {
    return num < 10 ? "0" + num : num;
};

var dateFormat = function(date, formatStr) {
    var dateObj = {},
        rStr = /\{([^}]+)\}/,
        mons = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'];
    
    dateObj["Y"] = date.getFullYear();
    dateObj["M"] = date.getMonth() + 1;
    dateObj["MM"] = parseNumber(dateObj["M"]);
    dateObj["Mon"] = mons[dateObj['M'] - 1];
    dateObj["D"] = date.getDate();
    dateObj["DD"] = parseNumber(dateObj["D"]);
    dateObj["h"] = date.getHours();
    dateObj["hh"] = parseNumber(dateObj["h"]);
    dateObj["t"] = dateObj["h"] > 12 ? dateObj["h"] - 12 : dateObj["h"];
    dateObj["tt"] = parseNumber(dateObj["t"]);
    dateObj["A"] = dateObj["h"] > 12 ? '下午' : '上午';
    dateObj["i"] = date.getMinutes();
    dateObj["ii"] = parseNumber(dateObj["i"]);
    dateObj["s"] = date.getSeconds();
    dateObj["ss"] = parseNumber(dateObj["s"]);

    while(rStr.test(formatStr)) {
        formatStr = formatStr.replace(rStr, dateObj[RegExp.$1]);
    }
    return formatStr;
};

使用很简单,以你的题目为例:

var dateTime = "2015/06/10 15:12:59",
    dateObj = new Date(dateTime),
    date, time;
    
date = dateFormat(dateObj, "{Mon}月{DD}日"); // 六月10日
time = dateFormat(dateObj, "{A} {t}:{ii}"); // 下午 3:12

希望是你想要的答案,望采纳~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com