JavaScript中将(时间戳)毫秒转化为年月日时分秒格式
1、毫秒单位说明?
获取的时间为毫秒类型的时候,假如是10位数需要*1000,假如是13位不需要*1000.
2、方式一:通过Date自定义函数转化自己所需时间类型
new Date();获取当前系统时间,数据格式:Mon Aug 23 2021 11:55:08 GMT+0800 (中国标准时间)
new Date(时间毫秒单位);//可以将毫秒单位转化成指定的数据类型,下面有具体说明
- //数据样式:Mon Aug 23 2021 11:55:08 GMT+0800 (中国标准时间)
var date1=new Date();//获取当前系统时间
//数据样式:2021/8/23 上午11:55:58
var date2=date1.toLocaleString();
//数据样式:2021/8/23
var date3=date1.toLocaleDateString();
//数据样式:上午11:56:47
var date4=date1.toLocaleTimeString();
//数据样式:2021/8/23 上午11:56:57
var date5=date1.toLocaleString();
//数据样式:Mon, 23 Aug 2021 03:57:13 GMT
var date6=date1.toUTCString();
//创建一个div,id=div1,并向div中赋值时间
document.getElementById(“div1”).innerHTML=date6;
3、方式二:获取时间—自定义数据格式
说明1:var millisecond= new Date().getTime();//获取毫秒单位。
getTime();将时间转化成毫秒单位。
说明2:在很多的插件中,时间默认返回的时间类型就是毫秒单位,此转化方式虽然比较麻烦,
但是在实际项目中的实用性较强。同时假如返回的毫秒单位是10位数,则必须让该毫秒数乘以1000。
说明3:也可以将制定时间转化成毫秒数
如:var millisecond= (new Date(“2020/08/022 14:13:11”)).getTime(); //得到毫秒数
var timdedetail="具体的毫秒字符串";//假如是10位毫秒需要乘1000
//获取年份
var year=new Date(timdedetail).getFullYear();
//获取月份,获取的月份比实际小1,所以在使用的时候需要+1
var month=new Date(timdedetail).getMonth()+1;
//获取日
var date=new Date(timdedetail).getDate();
//获取时
var hours=new Date(timdedetail).getHours();
//获取分
var minutes=new Date(timdedetail).getMinutes();
//获取秒
var seconds=new Date(timdedetail).getSeconds();
//组合格式为年-月-日 时:分:秒(2021-7-5 21:21:21)
var time=year+"-"+month+"-"+date+" "+hours+":"+minutes+":"+seconds;
console.log(time);
//输出样式:2020-10-25 14:25:36
4、使用改进1—当时间不足10的时候,补零操作?
显示时间格式为:2021-07-05 21:21:21
阶梯思路:通过三目运算符判断即可
具体操作如下:
//将毫秒转化成年月日时分秒
var timdedetail="具体的毫秒字符串";//假如是10位毫秒需要乘1000
//获取年份
var year=new Date(timdedetail).getFullYear();
//获取月份
var month=new Date(timdedetail).getMonth()+1;
if(month<10){
month="0"+month;
}
//获取日
var date=new Date(timdedetail).getDate();
if(date<10){
date="0"+date;
}
//获取小时
var h1=new Date(timdedetail).getHours()<10?'0'+new Date(timdedetail).getHours():new Date(timdedetail).getHours();
//获取分钟
var m1=new Date(timdedetail).getMinutes()<10?'0'+new Date(timdedetail).getMinutes():new Date(timdedetail).getMinutes()<10;
//获取秒
var s1=new Date(timdedetail).getSeconds()<10?'0'+new Date(timdedetail).getSeconds():new Date(timdedetail).getSeconds();
//组合格式为年-月-日 时:分:秒(2021-07-05 21:21:21)
var starttime=year+"-"+month+"-"+date+" "+h1+":"+m1+":"+s1;
//输出样式:2020-10-25 14:25:36
5、使用改进2—创建时间格式转化函数—快速获取时间样式
第一步:向Date中创建时间格式转化函数
说明:一般情况下,不需要研究该函数的中的具体实现方式,直接使用即可。
<script>
Date.prototype.format = function(fmt){
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)){
fmt=fmt.replace(RegExp.$1, (this.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;
}
</script>
第二步:使用第一步创建的函数获取所需时间格式
说明:直接使用,将使用函数的代码创建在body中div的下面,否则会出现body中的div没有加载,script就先执行了。
<body>
<div id="div1">
</div>
<script>
var now = new Date();
var timeStyle1 = now.format("yyyy-MM-dd hh:mm:ss");
var timeStyle2 = now.format("yyyy年MM月dd日");
var timeStyle3 = now.format("yyyy-MM-dd hh:mm:ss");
var timeStyle4 = now.format("yyyy年MM月dd日hh小时mm分ss秒");
document.getElementById("div1").innerHTML=timeStyle4;
</script>
</body>
还没有评论,来说两句吧...