WithCoderWithCoderWithCoder

js 常用日期字符串和日期转换

    在前端开发时,我们经常需要在 javascript 中对日期进行格式化,将其转换成固定格式的字符串;或者将指定格式的日期字符串,转换为日期进行处理。本文简单记录将日期格式(yyyy-MM-dd hh:mm:ss)和日期对象进行互相转换。

    一、将日期对象Date转换为格式字符串

    代码如下:

function format(date, fmt) {
    var o = {
        "M+": date.getMonth() + 1, //月份
        "d+": date.getDate(), //日
        "h+": date.getHours(), //小时
        "m+": date.getMinutes(), //分
        "s+": date.getSeconds(), //秒
        "q+": Math.floor((date.getMonth() + 3) / 3), //季度
        "S": date.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.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;
}

     二、将日期格式字符串转换为Date对象

    代码如下(字符串格式为:yyyy-MM-dd hh:mm:ss):

// js字符串转日期Date
// 字符串格式:2020-10-13 12:00:01
function stringToDate(strDate) {
    var tempStrs = strDate.split(" ");

    var dateStrs = tempStrs[0].split("-");
    var year = parseInt(dateStrs[0], 10);
    var month = parseInt(dateStrs[1], 10) - 1;
    var day = parseInt(dateStrs[2], 10);

    var timeStrs = tempStrs[1].split(":");
    var hour = parseInt(timeStrs [0], 10);
    var minute = parseInt(timeStrs[1], 10);
    var second = parseInt(timeStrs[2], 10);

    var date = new Date(year, month, day, hour, minute, second);
    return date;
}


欢迎分享交流,转载请注明出处:WithCoder » js 常用日期字符串和日期转换