JavaScript中将(时间戳)毫秒转化为年月日时分秒格式

1、毫秒单位说明?

获取的时间为毫秒类型的时候,假如是10位数需要*1000,假如是13位不需要*1000.

2、方式一:通过Date自定义函数转化自己所需时间类型

new Date();获取当前系统时间,数据格式:Mon Aug 23 2021 11:55:08 GMT+0800 (中国标准时间)

new Date(时间毫秒单位);//可以将毫秒单位转化成指定的数据类型,下面有具体说明

  1. //数据样式: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>

第三步:最终显示结果

20210823121546315.png

 

 

 

 

 

 

 

 

 

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雾林小妖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值