年月日时分秒转换为几个小时前

发布时间 2023-03-30 11:19:56作者: 芮艺

将年月日转换为-几个小时前之类的
传入的时间是字符串类型

方法一

点击查看代码
 function timeFormat(time)
  {
    var nowTime = new Date();
    var day = nowTime.getDate();
    var hours = parseInt(nowTime.getHours());
    var minutes = nowTime.getMinutes();
    // 开始分解付入的时间
  var timeday = time.substring(8, 10);
  var timehours = parseInt(time.substring(11, 13));
  var timeminutes = time.substring(14, 16);
  var d_day = Math.abs(day - timeday);
  var d_hours = hours - timehours;
  var d_minutes = Math.abs(minutes - timeminutes);
  if (d_day <= 1) {
    switch (d_day) {
      case 0: if (d_hours == 0 && d_minutes > 0) {
        return d_minutes + '分钟前';
      } else if (d_hours == 0 && d_minutes == 0) {
        return '1分钟前';
      } else {
        return d_hours + '小时前';
      }
      break;
      case 1: if (d_hours < 0) { return (24 + d_hours) + '小时前'; } else { return d_day + '天前'; } break; } }
  else if (d_day > 1 && d_day < 10) { return d_day + '天前'; } else { return time; } 
  }
  console.log(timeFormat("2020-06-21 22:1:2"));

方法二

点击查看代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
	<script>	
		var pretime = "2018-04-07 14:38:16";
		
		var minute = 1000 * 60;
		var hour = minute * 60;
		var day = hour * 24;
		var halfamonth = day * 15;
		var month = day * 30;
		
		//这是第一次打开页面时调用
		getDate(pretime);
		
		//然后再每隔一分钟更新一次时间
		setInterval(function() {
		    getDate(pretime);
		}, 60000);
		
		function getDate(dateTimeStamp){
			
			if(dateTimeStamp==undefined){
				
				return false;
			}else{
				dateTimeStamp = dateTimeStamp.replace(/\-/g, "/");
				
				var sTime = new Date(dateTimeStamp).getTime();//把时间pretime的值转为时间戳
				
				var now = new Date().getTime();//获取当前时间的时间戳
				
				var diffValue = now - sTime;
				
				if(diffValue < 0){
					console.log("结束日期不能小于开始日期!");
				}
				
				var monthC =diffValue/month;
				var weekC =diffValue/(7*day);
				var dayC =diffValue/day;
				var hourC =diffValue/hour;
				var minC =diffValue/minute;
				
				if(monthC>=1){
					console.log(parseInt(monthC) + "个月前");
				}
				else if(weekC>=1){
					console.log(parseInt(weekC) + "周前")
				}
				else if(dayC>=1){
					console.log(parseInt(dayC) +"天前")
				}
				else if(hourC>=1){
					console.log(parseInt(hourC) +"个小时前")
				}
				else if(minC>=1){
					console.log(parseInt(minC) +"分钟前")
				}else{
					console.log("刚刚")
				}
			}
			
		}
	</script>
	</body>
</html>