js时间基本操作

js 获取前一天的时
var today=new Date(); 
var yesterday_milliseconds=today.getTime()-1000*60*60*24; 
var yesterday=new Date();yesterday.setTime(yesterday_milliseconds);var strYear=yesterday.getFullYear(); var strDay=yesterday.getDate(); var strMonth=yesterday.getMonth()+1; if(strMonth<10) { strMonth="0"+strMonth; }var strYesterday=strYear+"-"+strMonth+"-"+strDay; alert(strYesterday);

 

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

 

判断闰年 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; } 
 //| 取得日期数据信息 //| 参数 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; } 若要显示:当前日期加时间(如:2009-06-12 12:00)function CurentTime() { var now = new Date(); var year = now.getFullYear();//年 var month = now.getMonth() + 1; //月 var day = now.getDate(); //日 var hh = now.getHours(); //时var mm = now.getMinutes(); //var clock = year + "-"; if(month < 10) clock += "0"; clock += month + "-";if(day < 10) clock += "0"; clock += day + " "; if(hh < 10) clock += "0";clock += hh + ":"; if (mm < 10) clock += '0'; clock += mm; return(clock); }

 

转载于:https://www.cnblogs.com/sily-boy/p/5703409.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习(2033)vue之电商管理系统电商系统之通过路由加载报表

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

线性表操作的基本应用

#include"stdio.h" #include"stdlib.h" #define MAXSIZE 10 #define OK 1 #define YES 1 #define NO 0 struct Sqlist { int a[MAXSIZE]; int length; }; void listlength(Sqlist *list) { printf("线性表得长度:%d\n",list-&…

军训分批(codevs 2751)

题目描述 Description某学校即将开展军训。共有N个班级。 前M个优秀班级为了保持学习优势&#xff0c;必须和3位任课老师带的班级同一批。 问共有几批&#xff1f; 输入描述 Input DescriptionN,M 老师教的其他班级&#xff08;M行&#xff09; 输出描述 Output Description批次…

前端学习(2034)vue之电商管理系统电商系统之绘制图表

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

2021-08-08

Java中对于方法和字段一共有四种访问权限&#xff1b;分别为&#xff1a; &#xff08;1&#xff09;private &#xff08;2&#xff09;public &#xff08;3&#xff09;protected &#xff08;4&#xff09;默认&#xff08;包访问权限&#xff09; 一、private 类内部能访问…

2021-08-15

1、什么是多态性&#xff1f;什么是虚拟方法调用&#xff1f; 对象的多态性&#xff1a; Person p new xx(); 此时new的对象可以为多种形态&#xff0c;但需要是person类的子类。即父类的引用指向子类的对象。 虚拟方法调用: p.eat(); 该语句在编译时会认为时调用Person类中的…

前端学习(2035)vue之电商管理系统电商系统之形成折线图

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

python中在同一个位置输出数据

import sys, timedef print_data():for i in range(5):sys.stdout.write(str(i) \r)time.sleep(1)sys.stdout.flush()if __name__ __main__:print_data() 转载于:https://www.cnblogs.com/LarryGen/p/5713000.html

context:component-scan扫描使用的use-default-filters

如下方式可以成功扫描到Controller注解的Bean&#xff0c;不会扫描Service/Repository的Bean。 <context:component-scan base-package"xx.xx.xx.controller"> <context:include-filter type"annotation" expression"org.springframework.…

2021-08-17

三位运算符 最后的连个表达式都需要为同一个类型 所以Integer会自动提升类型为Double ; 所以o1 1.0; 这种写法就不需要统一类型 第一个&#xff1a;两个i,j为两个地址&#xff1b; 第二个&#xff1a;和第三个同。 第三个&#xff1a; 再Integer类中 有静态生命一个数组存…

Redmine性能测试

Redmine部署使用有一个月了&#xff0c;反馈有时很慢。 1、查看log发现&#xff0c;事务更新后要发送Email&#xff0c;如果连接邮件服务器有问题&#xff0c;会等待超时&#xff0c;导致很慢。 2、解决发送邮件问题后&#xff0c;仍然有时慢&#xff0c;ActiveRecord显示要几百…

包装类转换基本数据类型与基本数据类型转换为包装类

包装类转换基本数据类型 基本数据类型转换为包装类 新特性&#xff1a; 自动装箱&#xff08;基本数据类型转换为包装类&#xff09;&#xff1a; 自动拆箱&#xff08;包装类转换基本数据类型&#xff09;&#xff1a; 基本数据类型、包装类向String 的转换 方式1&#xff1…

前端学习(2038)vue之电商管理系统电商系统之优化nprogress加载进度条

main.js import Vue from vue import App from ./App.vue import router from ./router import ./plugins/element.js //导入字体图标 import ./assets/fonts/iconfont.css Vue.config.productionTip false //导入全局样式 import ./assets/css/global.css import TreeTable …

Qt之Concurrent框架

简述 QtConcurrent 命名空间提供了高级 API&#xff0c;使得可以在不使用低级线程原语&#xff08;例如&#xff1a;互斥、读写锁、等待条件或信号量&#xff09;的情况下编写多线程程序&#xff0c;使用 QtConcurrent 编写的程序根据可用的处理器核心数自动调整所使用的线程数…