Js获取当前日期时间及格式化代码


Posted in Javascript onSeptember 17, 2016

本文为大家分享了Js获取当前日期时间及格式化操作,具体内容如下

var myDate = new Date();
myDate.getYear();    //获取当前年份(2位)
myDate.getFullYear();  //获取完整的年份(4位,1970-????)
myDate.getMonth();    //获取当前月份(0-11,0代表1月)
myDate.getDate();    //获取当前日(1-31)
myDate.getDay();     //获取当前星期X(0-6,0代表星期天)
myDate.getTime();    //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();    //获取当前小时数(0-23)
myDate.getMinutes();   //获取当前分钟数(0-59)
myDate.getSeconds();   //获取当前秒数(0-59)
myDate.getMilliseconds();  //获取当前毫秒数(0-999)
myDate.toLocaleDateString();   //获取当前日期
var mytime=myDate.toLocaleTimeString();   //获取当前时间
myDate.toLocaleString( );    //获取日期与时间

日期时间脚本库方法列表
Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差 

js代码:

//--------------------------------------------------- 
// 判断闰年 
//--------------------------------------------------- 
Date.prototype.isLeapYear = function()  
{  
  return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));  
}  
 
//--------------------------------------------------- 
// 日期格式化 
// 格式 YYYY/yyyy/YY/yy 表示年份 
// MM/M 月份 
// W/w 星期 
// dd/DD/d/D 日期 
// hh/HH/h/H 时间 
// mm/m 分钟 
// ss/SS/s/S 秒 
//--------------------------------------------------- 
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()>9?this.getMonth().toString():'0' + this.getMonth());  
  str=str.replace(/M/g,this.getMonth());  
 
  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;  
}  
 
//+--------------------------------------------------- 
//| 求两个时间的天数差 日期格式为 YYYY-MM-dd  
//+--------------------------------------------------- 
function daysBetween(DateOne,DateTwo) 
{  
  var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); 
  var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); 
  var OneYear = DateOne.substring(0,DateOne.indexOf ('-')); 
 
  var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-')); 
  var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); 
  var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-')); 
 
  var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);  
  return Math.abs(cha); 
} 
 
 
//+--------------------------------------------------- 
//| 日期计算 
//+--------------------------------------------------- 
Date.prototype.DateAdd = function(strInterval, Number) {  
  var dtTmp = this; 
  switch (strInterval) {  
    case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number)); 
    case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number)); 
    case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number)); 
    case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number)); 
    case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number)); 
    case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
    case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
    case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
  } 
} 
 
//+--------------------------------------------------- 
//| 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串 
//+--------------------------------------------------- 
Date.prototype.DateDiff = function(strInterval, dtEnd) {  
  var dtStart = this; 
  if (typeof dtEnd == 'string' )//如果是字符串转换为日期型 
  {  
    dtEnd = StringToDate(dtEnd); 
  } 
  switch (strInterval) {  
    case 's' :return parseInt((dtEnd - dtStart) / 1000); 
    case 'n' :return parseInt((dtEnd - dtStart) / 60000); 
    case 'h' :return parseInt((dtEnd - dtStart) / 3600000); 
    case 'd' :return parseInt((dtEnd - dtStart) / 86400000); 
    case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7)); 
    case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1); 
    case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear(); 
  } 
} 
 
//+--------------------------------------------------- 
//| 日期输出字符串,重载了系统的toString方法 
//+--------------------------------------------------- 
Date.prototype.toString = function(showWeek) 
{  
  var myDate= this; 
  var str = myDate.toLocaleDateString(); 
  if (showWeek) 
  {  
    var Week = ['日','一','二','三','四','五','六']; 
    str += ' 星期' + Week[myDate.getDay()]; 
  } 
  return str; 
} 
 
//+--------------------------------------------------- 
//| 日期合法性验证 
//| 格式为:YYYY-MM-DD或YYYY/MM/DD 
//+--------------------------------------------------- 
function IsValidDate(DateStr)  
{  
  var sDate=DateStr.replace(/(^\s+|\s+$)/g,''); //去两边空格;  
  if(sDate=='') return true;  
  //如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''  
  //数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式  
  var s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,'');  
  if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D  
  {  
    var t=new Date(sDate.replace(/\-/g,'/'));  
    var ar = sDate.split(/[-/:]/);  
    if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())  
    {  
      //alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');  
      return false;  
    }  
  }  
  else  
  {  
    //alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');  
    return false;  
  }  
  return true;  
}  
 
//+--------------------------------------------------- 
//| 日期时间检查 
//| 格式为:YYYY-MM-DD HH:MM:SS 
//+--------------------------------------------------- 
function CheckDateTime(str) 
{  
  var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;  
  var r = str.match(reg);  
  if(r==null)return false;  
  r[2]=r[2]-1;  
  var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);  
  if(d.getFullYear()!=r[1])return false;  
  if(d.getMonth()!=r[2])return false;  
  if(d.getDate()!=r[3])return false;  
  if(d.getHours()!=r[4])return false;  
  if(d.getMinutes()!=r[5])return false;  
  if(d.getSeconds()!=r[6])return false;  
  return true;  
}  
 
//+--------------------------------------------------- 
//| 把日期分割成数组 
//+--------------------------------------------------- 
Date.prototype.toArray = function() 
{  
  var myDate = this; 
  var myArray = Array(); 
  myArray[0] = myDate.getFullYear(); 
  myArray[1] = myDate.getMonth(); 
  myArray[2] = myDate.getDate(); 
  myArray[3] = myDate.getHours(); 
  myArray[4] = myDate.getMinutes(); 
  myArray[5] = myDate.getSeconds(); 
  return myArray; 
} 
 
//+--------------------------------------------------- 
//| 取得日期数据信息 
//| 参数 interval 表示数据类型 
//| y 年 m月 d日 w星期 ww周 h时 n分 s秒 
//+--------------------------------------------------- 
Date.prototype.DatePart = function(interval) 
{  
  var myDate = this; 
  var partStr=''; 
  var Week = ['日','一','二','三','四','五','六']; 
  switch (interval) 
  {  
    case 'y' :partStr = myDate.getFullYear();break; 
    case 'm' :partStr = myDate.getMonth()+1;break; 
    case 'd' :partStr = myDate.getDate();break; 
    case 'w' :partStr = Week[myDate.getDay()];break; 
    case 'ww' :partStr = myDate.WeekNumOfYear();break; 
    case 'h' :partStr = myDate.getHours();break; 
    case 'n' :partStr = myDate.getMinutes();break; 
    case 's' :partStr = myDate.getSeconds();break; 
  } 
  return partStr; 
} 
 
//+--------------------------------------------------- 
//| 取得当前日期所在月的最大天数 
//+--------------------------------------------------- 
Date.prototype.MaxDayOfDate = function() 
{  
  var myDate = this; 
  var ary = myDate.toArray(); 
  var date1 = (new Date(ary[0],ary[1]+1,1)); 
  var date2 = date1.dateAdd(1,'m',1); 
  var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd')); 
  return result; 
} 
 
//+--------------------------------------------------- 
//| 取得当前日期所在周是一年中的第几周 
//+--------------------------------------------------- 
Date.prototype.WeekNumOfYear = function() 
{  
  var myDate = this; 
  var ary = myDate.toArray(); 
  var year = ary[0]; 
  var month = ary[1]+1; 
  var day = ary[2]; 
  document.write('< script language=VBScript\> \n'); 
  document.write('myDate = Datue(''+month+'-'+day+'-'+year+'') \n'); 
  document.write('result = DatePart('ww', myDate) \n'); 
  document.write(' \n'); 
  return result; 
} 
 
//+--------------------------------------------------- 
//| 字符串转成日期类型  
//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd 
//+--------------------------------------------------- 
function StringToDate(DateStr) 
{  
 
  var converted = Date.parse(DateStr); 
  var myDate = new Date(converted); 
  if (isNaN(myDate)) 
  {  
    //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-'; 
    var arys= DateStr.split('-'); 
    myDate = new Date(arys[0],--arys[1],arys[2]); 
  } 
  return myDate; 
}

如果要实现这样的时钟:
2012年12月03日 17:21:16 星期一

//本地时钟
function clockon() {
  var now = new Date();
  var year = now.getFullYear(); //getFullYear getYear
  var month = now.getMonth();
  var date = now.getDate();
  var day = now.getDay();
  var hour = now.getHours();
  var minu = now.getMinutes();
  var sec = now.getSeconds();
  var week;
  month = month + 1;
  if (month < 10) month = "0" + month;
  if (date < 10) date = "0" + date;
  if (hour < 10) hour = "0" + hour;
  if (minu < 10) minu = "0" + minu;
  if (sec < 10) sec = "0" + sec;
  var arr_week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
  week = arr_week[day];
  var time = "";
  time = year + "年" + month + "月" + date + "日" + " " + hour + ":" + minu + ":" + sec + " " + week;
 
  $("#bgclock").html(time);
 
  var timer = setTimeout("clockon()", 200);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 Javascript
原生JS取代一些JQuery方法的简单实现
Sep 20 Javascript
浅析如何利用JavaScript进行语音识别
Oct 27 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
原生js更改css样式的两种方式
Mar 15 Javascript
angular directive的简单使用总结
May 24 Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 Javascript
Express系列之multer上传的使用
Oct 27 Javascript
vue中的provide/inject的学习使用
May 09 Javascript
微信小程序仿美团城市选择
Jun 06 Javascript
vue中的适配px2rem示例代码
Nov 19 Javascript
小程序实现投票进度条
Nov 20 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
Sep 17 #Javascript
jquery遍历标签中自定义的属性方法
Sep 17 #Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 #Javascript
详解Angular2中的编程对象Observable
Sep 17 #Javascript
详细总结Javascript中的焦点管理
Sep 17 #Javascript
js变量提升深入理解
Sep 16 #Javascript
再谈javascript常见错误及解决方法
Sep 16 #Javascript
You might like
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
wxPython的安装图文教程(Windows)
2017/12/28 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
python通过http下载文件的方法详解
2019/07/26 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
写好自荐信的技巧
2013/11/08 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
大学生助学金感谢信
2015/01/21 职场文书
股东大会通知
2015/04/24 职场文书
社区节水倡议书
2015/04/29 职场文书
全国助残日活动总结
2015/05/11 职场文书
宿舍管理制度范本
2015/08/07 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android