js将中国标准时间转化为年月日时分秒(yyyy-mm-dd)格式以及时间戳,日期,天数之间的转换

**

近期在写后台管理系统的项目,时间戳,中国标准时间以及日期换算成天数。用到的频率比较高

  • 中国标准时间(Thu May 12 2016 08:00:00 GMT+0800 )转化为yyyy-MM-dd格式
 例如:var chinaStandard= 'Thu May 12 2020 08:00:00 GMT+0800' (后台返回的标准时间)
      var date = new Date(chinaStandard);
      var y = date.getFullYear();
	  var m = date.getMonth() + 1;
	  m = m < 10 ? ('0' + m) : m;
	  var d = date.getDate();
 	  d = d < 10 ? ('0' + d) : d;
      var h = date.getHours();
	  var minute = date.getMinutes();
	  minute = minute < 10 ? ('0' + minute) : minute;
	  let time = y + '-' + m + '-' + d+' '+h+':'+minute;  //这里如果不需要小时 分  后边的可以不需要拼接
  • 时间戳(1590200466)转换成yyyy-mm-dd这种时间格式的方法:
      var timeC = '1590200466'
      var date = new Date(parseInt(timeC) * 1000);  //如果后台的返回的时间戳没有*1000  自己*上,如果后台返回的已经*过1000 则不用加 
      var y = date.getFullYear();
      var m = date.getMonth() + 1;
      m = m < 10 ? ('0' + m) : m;
      var d = date.getDate();
      d = d < 10 ? ('0' + d) : d;
      var time =  y+'-'+m+'-'+d;
  • 换算日期之间的相差天数
    let date1 = new Date(minDate);   minDate这里可以是中国标准时间或者yyyy-mm-dd格式这里是不影响换算的
    let date2 = new Date(maxDate);   同minDate
    date1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());
    date2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());
    const diff = date2.getTime() - date1.getTime(); 这里注意日期之间结束和开始,否则相减出来的很有肯能是负数
    const day = diff / (24 * 60 * 60 * 1000);
  • js计算几天后的日期
	var date = new Date();
		//这里的day就是你要加的天数
		 date.setDate(date.getDate()+day+1); //这里1 根据要不要获取当天的日期 看自己的需求决定加还是不加
		 var m = date.getMonth() + 1;
		 m = m < 10 ? ('0' + m) : m;
         var d = date.getDate();
         d = d < 10 ? ('0' + d) : d;
		console.log(date.getFullYear() +"-"+ m +"-"+ d);

近期时间类型上的转换就那么多,后期有用到其他的会更新,觉得有帮助的话,可以关注一下。一起分享,讨论

你可能感兴趣的:(js那些事)