javascript格式化日期时间方法汇总

编程学习 2021-07-04 21:48www.dzhlxh.cn编程入门
本文给大家汇总介绍了javascript格式化日期时间的五种常用方法,个人对第五种个性化输出时间比较有兴趣,基本上只要项目中能用到都是使用第五种,推荐给小伙伴们。

示例一:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>TT</title>
 <script src="jquery.js"></script>
</head>
<body>
<p style="line-height: 50%;"><span></span></p>
<input type="button" value="轻轻" onclick="syncTime()">
<script>
  function syncTime(){
    var mydate = new Date();
    var week;
    switch (mydate.getDay()){
    case 1: week="星期一"; break;
    case 2: week="星期二"; break;
    case 3: week="星期三"; break;
    case 4: week="星期四"; break;
    case 5: week="星期五"; break;
    case 6: week="星期六"; break;
    default: week="星期天";
    }
    var str = "" + mydate.getFullYear() + " 年 " + (mydate.getMonth() + 1) + " 月 " + mydate.getDate() + " 日 " + week;
    $('.todaytime')[0].innerHTML = str;
    str = '"savesynctime" : "' + str + '"'
    return str;
  }
  console.log(syncTime());
</script>
</body>
</html>

示例二:

<script type="text/javascript">
    var date = new Date();
 
    document.writeln(date);
    //Thu Jan 08 2015 01:25:53 GMT+0800 (中国标准时间)
    document.writeln(Date.parse());
    //NaN
    document.writeln(Date.parse('6/10/2014'));
    //1402329600000 毫秒数
    document.writeln(Date.parse('Thu Jan 08 2015 01:25:53'));
    //1420651553000 毫秒数
    document.writeln(Date.UTC());
    //NaN
 
    //日期格式化方法
    document.writeln('<br/>');
    document.writeln(date.toDateString());
    //Thu Jan 08 2015
    document.writeln('<br/>')
    document.writeln(date.toTimeString());
    //01:39:08 GMT+0800 (中国标准时间)
    document.writeln('<br/>')
    document.writeln(date.toLocaleDateString());
    //2015年1月8日
    document.writeln('<br/>')
    document.writeln(date.toLocaleTimeString());
    //上午1:39:08
    document.writeln('<br/>')
    document.writeln(date.toUTCString());
    //Wed, 07 Jan 2015 17:39:08 GMT
 
    //一些set,get方法
 
 
  </script>

示例三:

Date.prototype.Format = function(formatStr) {
  var str = formatStr;
  var Week = ['日', '一', '二', '三', '四', '五', '六'];
  str = str.replace(/yyyy|YYYY/, this.getFullYear());
  str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
  str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
  str = str.replace(/M/g, (this.getMonth() + 1));
  str = str.replace(/w|W/g, Week[this.getDay()]);
  str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
  str = str.replace(/d|D/g, this.getDate());
  str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
  str = str.replace(/h|H/g, this.getHours());
  str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
  str = str.replace(/m/g, this.getMinutes());
  str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
  str = str.replace(/s|S/g, this.getSeconds());
  return str
}

示例四:

Date.prototype.toString=function(format,loc){
  var time={};
  time.Year=this.getFullYear();
  time.TYear=(""+time.Year).substr(2);
  time.Month=this.getMonth()+1;
  time.TMonth=time.Month<10?"0"+time.Month:time.Month;
  time.Day=this.getDate();
  time.TDay=time.Day<10?"0"+time.Day:time.Day;
  time.Hour=this.getHours();
  time.THour=time.Hour<10?"0"+time.Hour:time.Hour;
  time.hour=time.Hour<13?time.Hour:time.Hour-12;
  time.Thour=time.hour<10?"0"+time.hour:time.hour;
  time.Minute=this.getMinutes();
  time.TMinute=time.Minute<10?"0"+time.Minute:time.Minute;
  time.Second=this.getSeconds();
  time.TSecond=time.Second<10?"0"+time.Second:time.Second;
  time.Millisecond=this.getMilliseconds();
  time.Week=this.getDay();
 
  var MMMArrEn=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
  var MMMArr=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"];
  var WeekArrEn=["Sun","Mon","Tue","Web","Thu","Fri","Sat"];
  var WeekArr=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
 
  var oNumber=time.Millisecond/1000;
 
  if(format!=undefined && format.replace(/\s/g,"").length>0){
    if(loc!=undefined && loc =="en"){
      MMMArr=MMMArrEn.slice(0);
      WeekArr=WeekArrEn.slice(0);
    }
    format=format
      .replace(/yyyy/ig,time.Year)
      .replace(/yyy/ig,time.Year)
      .replace(/yy/ig,time.TYear)
      .replace(/y/ig,time.TYear)
      .replace(/MMM/g,MMMArr[time.Month-1])
      .replace(/MM/g,time.TMonth)
      .replace(/M/g,time.Month)
      .replace(/dd/ig,time.TDay)
      .replace(/d/ig,time.Day)
      .replace(/HH/g,time.THour)
      .replace(/H/g,time.Hour)
      .replace(/hh/g,time.Thour)
      .replace(/h/g,time.hour)
      .replace(/mm/g,time.TMinute)
      .replace(/m/g,time.Minute)
      .replace(/ss/ig,time.TSecond)
      .replace(/s/ig,time.Second)
      .replace(/fff/ig,time.Millisecond)
      .replace(/ff/ig,oNumber.toFixed(2)*100)
      .replace(/f/ig,oNumber.toFixed(1)*10)
      .replace(/EEE/g,WeekArr[time.Week]);
  }
  else{
    format=time.Year+"-"+time.Month+"-"+time.Day+" "+time.Hour+":"+time.Minute+":"+time.Second;
  }
  return format;
}
 
var d=new Date();
console.log(d.toString());  //2014-7-27 9:26:52
console.log(d.toString(""));  //2014-7-27 9:26:52
console.log(d.toString("yyyy-MM-dd HH:mm:ss"));  //2014-07-27 09:26:52
console.log(d.toString("yyyy年MM月dd日 HH:mm:ss"));  //2014年07月27日 09:26:52
console.log(d.toString("yyyy-MM-dd HH:mm:ss fff"));  //2014-07-27 09:26:52 237
console.log(d.toString("yyyy年 MMM dd EEE"));  //2014年 七月 27 星期五
console.log(d.toString("yyyy MMM dd EEE","en"));  //2014 Jul 27 Fri

示例五:时间个性化输出功能

/*
1、< 60s, 显示为“刚刚”
2、>= 1min && < 60 min, 显示与当前时间差“XX分钟前”
3、>= 60min && < 1day, 显示与当前时间差“今天 XX:XX”
4、>= 1day && < 1year, 显示日期“XX月XX日 XX:XX”
5、>= 1year, 显示具体日期“XXXX年XX月XX日 XX:XX”
*/
function timeFormat(time){
  var date = new Date(time),
    curDate = new Date(),
    year = date.getFullYear(),
    month = date.getMonth() + 10,
    day = date.getDate(),
    hour = date.getHours(),
    minute = date.getMinutes(),
    curYear = curDate.getFullYear(),
    curHour = curDate.getHours(),
    timeStr;
 
  if(year < curYear){
    timeStr = year +'年'+ month +'月'+ day +'日 '+ hour +':'+ minute;
  }else{
    var pastTime = curDate - date,
      pastH = pastTime/3600000;
 
    if(pastH > curHour){
       timeStr = month +'月'+ day +'日 '+ hour +':'+ minute;
    }else if(pastH >= 1){
       timeStr = '今天 ' + hour +':'+ minute +'分';
    }else{
       var pastM = curDate.getMinutes() - minute;
       if(pastM > 1){
        timeStr = pastM +'分钟前';
       }else{
        timeStr = '刚刚';
       }
    }
  }
  return timeStr;
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板