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

 更新时间:2015年06月19日 09:42:03   投稿:hebedich  
本文给大家汇总介绍了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;
}

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

相关文章

  • 小程序云开发如何实现图片上传及发表文字

    小程序云开发如何实现图片上传及发表文字

    这篇文章主要为大家详细介绍了小程序云开发教程,如何实现图片上传及发表文字,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Javascript typeof 用法

    Javascript typeof 用法

    在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组.
    2008-12-12
  • 每天一篇javascript学习小结(Boolean对象)

    每天一篇javascript学习小结(Boolean对象)

    这篇文章主要介绍了javascript中的Boolean对象知识点,对Boolean对象的基本使用方法进行解释,一段很详细的代码介绍,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • 浏览器复制插件zeroclipboard使用指南

    浏览器复制插件zeroclipboard使用指南

    ZeroClipboard 是国外大神开发的一个用于剪贴板复制的 JS 插件,它是基于 Flash 来实现跨浏览器的复制功能的。当我们使用 ZeroClipboard 的时候,它会悄悄隐藏一个小小的 Flash 影片(swf),不会对我们的用户界面造成影响。我们只需要借助它实现复制功能就行了。
    2016-03-03
  • HTML页面,测试JS对C函数的调用简单实例

    HTML页面,测试JS对C函数的调用简单实例

    下面小编就为大家带来一篇HTML页面,测试JS对C函数的调用简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • JS编写兼容IE6,7,8浏览器无缝自动轮播

    JS编写兼容IE6,7,8浏览器无缝自动轮播

    在本篇文章里我们给大家带来一篇关于用原生JS编写兼容IE6,7,8浏览器无缝自动轮播的相关知识点,需要的朋友们参考下。
    2018-10-10
  • webpack独立打包和缓存处理详解

    webpack独立打包和缓存处理详解

    这篇文章主要介绍了webpack独立打包和缓存处理的相关资料,文中介绍的非常详细,对大家学习webpack具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • 浅谈js之字面量、对象字面量的访问、关键字in的用法

    浅谈js之字面量、对象字面量的访问、关键字in的用法

    下面小编就为大家带来一篇浅谈js之字面量、对象字面量的访问、关键字in的用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • p5.js入门教程之小球动画示例代码

    p5.js入门教程之小球动画示例代码

    本篇文章主要介绍了p5.js入门教程之小球动画示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • JS通过Cookie判断页面是否为首次打开

    JS通过Cookie判断页面是否为首次打开

    这篇文章主要介绍了JS通过Cookie判断页面是否为首次打开 的相关资料,需要的朋友可以参考下
    2016-02-02

最新评论