欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Js日期格式转换

程序员文章站 2022-04-03 22:21:23
...

说明:作为一个Java后端程序员,有时候也需要自己去写些前端代码,所以将工作中用到的一些小知识做记录分享。

* ①文章说明:

做项目时有时候会需要获得当前日期,有时候需要对数据库返回的时间戳做友好的格式转换显示,故而将一些用到过的Js日期格式化代码记录下来,供以后方便使用。

* ②代码展示:

$(function(){
	//获得当前时间 格式为: yyyy-MM-dd HH:mm:ss
	var nowTime = getNowFormatDate(); 
	alert("当前时间: "+nowTime);
	
	//采用字符串截取方法,获取当天: yyyy-MM-dd
	var toDay = nowTime.substring(0,10);
	alert("当天日期: "+toDay);
	
	//获取当前标准时间
	var date = new Date();
	alert("当前标准时间: "+date);
	 
	//格式化模板
	var tempFormat ='yyyy-MM-dd HH:mm:ss';
	//将标准时间模板化显示
	var formatTime = standardConvert(date,tempFormat);
	alert("标准时间模板化显示: "+formatTime);
	 
	//获取当前时间戳
	var timeStamp = new Date().getTime();
	alert("当前时间戳:"+timeStamp);
	 
	//获得时间戳上的日期 yyyy-MM-dd
	var transTime = new Date(timeStamp);
	var timeStampDate = transTime.toLocaleDateString();
	alert("获得时间戳上的日期: "+timeStampDate);
	 
	//获得时间戳上的时间 yyyy/MM/dd HH:mm:ss
	var transTime = new Date(timeStamp);
	var timeStamps = transTime.toLocaleDateString()+' '+transTime.toTimeString().substring(0,8);
	alert("获得时间戳上的时间: "+timeStamps);
	 
	//格式化时间戳获得 yyyy/MM/dd HH:mm:ss
	var todayTime = timestampToTime(timeStamp);
	alert("格式化时间戳: "+todayTime)
	 
})

//获得当前时间 格式为:yyyy-MM-dd HH:mm:ss
function getNowFormatDate() {
    var date = new Date();
    var seperator1 = "-";
    var seperator2 = ":";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    var Hours = date.getHours();
    var Minu = date.getMinutes();
    var Second = date.getSeconds();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    if (Hours >= 1 && Hours <= 9) {
        Hours = "0" + Hours;
    }
    if (Minu >= 1 && Minu <= 9) {
        Minu = "0" + Minu;
    }
    if (Second >= 1 && Second <= 9) {
        Second = "0" + Second;
    }
    var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
            + " " + Hours + seperator2 + Minu
            + seperator2 + Second;
    return currentdate;
}

//格式化时间戳
function timestampToTime(timestamp) {
    var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
    var D = date.getDate() < 10 ? '0'+date.getDate() : date.getDate() + ' ';
    var h = date.getHours() + ':';
    var m = date.getMinutes() + ':';
    var s = date.getSeconds();
    return Y+M+D+h+m+s;
}

//将标准时间模板化显示
function standardConvert(time, format){
	var t = new Date(time);
	var tf = function(i){return (i < 10 ? '0' : '') + i};
	return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){
	switch(a){
		case 'yyyy':
		return tf(t.getFullYear());
		break;
		case 'MM':
		return tf(t.getMonth() + 1);
		break;
		case 'mm':
		return tf(t.getMinutes());
		break;
		case 'dd':
		return tf(t.getDate());
		break;
		case 'HH':
		return tf(t.getHours());
		break;
		case 'ss':
		return tf(t.getSeconds());
		break;
		}
	})
}