JavScript 日期格式化

javascript

浏览数:286

2019-1-7

//日期格式化
function formatDate(date,fmt) {
    if(date == null || typeof (date) == undefined || date == ''){
        date = new Date();
    }

    if(typeof (fmt) == undefined || fmt == null || fmt == ""){
        fmt = "yyyy-MM-dd HH:mm:ss";
    }
    var o = {
        "M+" : date.getMonth()+1, //月份
        "d+" : date.getDate(), //日
        "h+" : date.getHours()%12 == 0 ? 12 : date.getHours()%12, //小时
        "H+" : date.getHours(), //小时
        "m+" : date.getMinutes(), //分
        "s+" : date.getSeconds(), //秒
        "q+" : Math.floor((date.getMonth()+3)/3), //季度
        "S" : date.getMilliseconds() //毫秒
    };
    var week = {
        "0" : "/u65e5",
        "1" : "/u4e00",
        "2" : "/u4e8c",
        "3" : "/u4e09",
        "4" : "/u56db",
        "5" : "/u4e94",
        "6" : "/u516d"
    };
    if(/(y+)/.test(fmt)){
        fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
    }
    if(/(E+)/.test(fmt)){
        fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[date.getDay()+""]);
    }
    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 getEndMinDate(){
    var startTimeStr = trim($("#startTime").val());

    var now = new Date();
    var nowStr = formatDate(now,'yyyy-MM-dd HH:mm:ss');

    if(startTimeStr == ''){
        return nowStr;
    }else{
        var startTime = new Date(Date.parse(startTimeStr));

        //如果开始日期不为空且大于当前日期,那么就返回和开始日期相同的日期
        if(startTime >= now){
            return startTimeStr;
        }

        //否则返回当前日期
        return nowStr;
    }
}

<!-- 日期控件 -->
<input type="text" name="startTime" id="startTime" style="width: 140px;" class="input" placeholder="开始时间" onfocus="WdatePicker({maxDate:'#F{$dp.$D(\'endTime\')}',dateFmt:'yyyy-MM-dd HH:mm:ss'})">
&nbsp;到&nbsp;
<input type="text" name="endTime" id="endTime" style="width: 140px;" class="input" placeholder="结束时间" onfocus="var date=getEndMinDate();WdatePicker({minDate:date,dateFmt:'yyyy-MM-dd HH:mm:ss'})">
//--------------------------------------------------------
//日期默认展示,开始日期为一周前,结束日期为当天
$(function(){
    //日期默认展示
    var now = new Date();
    var days = -6;
    var startTime = new Date();
    startTime.setDate(now.getDate()+days);

    var startTimeStr = formatDate(startTime,'yyyy-MM-dd');
    var endTimeStr = formatDate(now,'yyyy-MM-dd');

    $("#startTime").val(startTimeStr+" 00:00:00");
    $("#endTime").val(endTimeStr+" 23:59:59");

});