赞
踩
目录
例2: 获取当前时间并且格式转化成:“yyyy-MM-dd hh:mm:ss”
例10:开始日期和结束日期之间不超过一年。并且结束日期不可晚于当前日期
var date = new Date();
方法 | 描述 |
Date() | 返回当日的日期和时间。格式:Thu Jun 20 2019 09:47:47 GMT+0800 (中国标准时间) |
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6,0代表星期日)。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11,0代表1月)。 |
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getYear() | 获取当前年份(2位),请使用 getFullYear() 方法代替。 |
getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
getTimezoneOffset() | 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 |
getUTCDate() | 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 |
getUTCDay() | 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 |
getUTCMonth() | 根据世界时从 Date 对象返回月份 (0 ~ 11)。 |
getUTCFullYear() | 根据世界时从 Date 对象返回四位数的年份。 |
getUTCHours() | 根据世界时返回 Date 对象的小时 (0 ~ 23)。 |
getUTCMinutes() | 根据世界时返回 Date 对象的分钟 (0 ~ 59)。 |
getUTCSeconds() | 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 |
getUTCMilliseconds() | 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 |
parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
setDate() | 设置 Date 对象中月的某一天 (1 ~ 31)。 |
setMonth() | 设置 Date 对象中月份 (0 ~ 11)。 |
setFullYear() | 设置 Date 对象中的年份(四位数字)。 |
setYear() | 请使用 setFullYear() 方法代替。 |
setHours() | 设置 Date 对象中的小时 (0 ~ 23)。 |
setMinutes() | 设置 Date 对象中的分钟 (0 ~ 59)。 |
setSeconds() | 设置 Date 对象中的秒钟 (0 ~ 59)。 |
setMilliseconds() | 设置 Date 对象中的毫秒 (0 ~ 999)。 |
setTime() | 以毫秒设置 Date 对象。 |
setUTCDate() | 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
setUTCMonth() | 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
setUTCFullYear() | 根据世界时设置 Date 对象中的年份(四位数字)。 |
setUTCHours() | 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
setUTCMinutes() | 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
setUTCSeconds() | 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 |
setUTCMilliseconds() | 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
toSource() | 返回该对象的源代码。 |
toString() | 把 Date 对象转换为字符串。 |
toTimeString() | 把 Date 对象的时间部分转换为字符串。 |
toDateString() | 把 Date 对象的日期部分转换为字符串。 |
toGMTString() | 请使用 toUTCString() 方法代替。 |
toUTCString() | 根据世界时,把 Date 对象转换为字符串。 |
toLocaleString() | 根据本地时间格式,把 Date 对象转换为字符串。 |
toLocaleTimeString() | 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 |
toLocaleDateString() | 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 |
UTC() | 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 |
valueOf() | 返回 Date 对象的原始值。 |
- //得到当前日期
- function getNowDate(obj) {
- var d = new Date();//创建 Date 对象的语法
- var vYear = d.getFullYear();//获得当前年(4位数)
- var vMon = d.getMonth() + 1;//获得当前月(月份默认计算是从0开始,0-11代表1-12月,加1比较直观些)
- var vDay = d.getDate();//获得当前日(1-31)
- //拼接成完整日期,格式如:2019-06-17
- var nowDate=vYear + "-" + (vMon < 10 ? "0" + vMon : vMon) + "-" + (vDay < 10 ? "0" + vDay : vDay);
- //返回完整日期
- obj.value = nowDate;
- }
- // 对Date的扩展,将 Date 转化为指定格式的String
- // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
- // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
- // 例子:
- // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
- // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
- Date.prototype.Format = function (fmt) {
- var o = {
- "M+": this.getMonth() + 1, //月份
- "d+": this.getDate(), //日
- "H+": this.getHours(), //小时
- "m+": this.getMinutes(), //分
- "s+": this.getSeconds(), //秒
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
- "S": this.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
- for (var k in o)
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- return fmt;
- }
-
- //调用:
- var time1 = new Date().Format("yyyy-MM-dd");
- var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");
- // 获得当前日期前(后)X月的月初(末),
- //(x 为正数,则是后x月;x为负数,则是前x月; x范围没限制,即可跨年)
- //(flag取值:'F' 月初 , 'L' 月末)
- function getXMonthFirstOrLastDate(obj,x,flag) {
- var d = new Date();
- var vYear = d.getFullYear();//获得当前年
- var vMon = d.getMonth() + 1;//获得当前月(1-12)
-
- var mod = vMon+x<=0 ? Math.abs(parseInt((vMon+x)/12))+1 : parseInt((vMon+x)/12);
- if( (vMon+x >0) && ((vMon+x)%12)==0){
- mod = mod-1;
- }
- vYear = vMon+x<=0 ? vYear-mod : vYear+mod;
- vMon = vMon+x<=0 ? vMon+x+mod*12 : vMon+x-mod*12;
- var firstDate = new Date(vYear,vMon,1);
- var vday;
- if(flag=="F"){
- vday = "01";
- }else if(flag=="L"){
- vday = new Date(firstDate.getTime()-1000*60*60*24).getDate();
- }
- var theDate = vYear + "-" +(vMon < 10 ? "0" + vMon : vMon) + "-" + vday;
- obj.value = theDate;
- }
- //得到指定季度的第一天
- function getMarkQuarterFirstDate(objv) {
- var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
- var r = objv.match(reg);
- if(r==null)return false;
- var d=new Date(r[1], r[3]-1,r[4]);
-
- var vYear = d.getFullYear();
- var vMonth = d.getMonth() + 1;
- var quarter = Math.ceil(vMonth/3);
- var vday = "01";
- var theDate;
- if(quarter=="1"){
- theDate = vYear+"-01" + "-" + vday;
- }else if(quarter=="2"){
- theDate = vYear + "-04" + "-" + vday;
- }else if(quarter=="3"){
- theDate = vYear + "-07" + "-" + vday;
- }else{
- theDate = vYear + "-10" + "-" + vday;
- }
- return theDate;
- }
- //得到指定季度的最后一天
- function getMarkQuarterLastDate(objv) {
- var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
- var r = objv.match(reg);
- if(r==null)return false;
- var d=new Date(r[1], r[3]-1,r[4]);
-
- var vYear = d.getFullYear();
- var vMonth = d.getMonth() + 1;
- var quarter = Math.ceil(vMonth/3);
- var theDate;
- if(quarter=="1"){
- theDate = vYear+"-03-31";
- }else if(quarter=="2"){
- theDate = vYear + "-06-30";
- }else if(quarter=="3"){
- theDate = vYear + "-09-30";
- }else{
- theDate = vYear + "-12-31";
- }
- return theDate;
- }
- //计算两个日期相差天数
- function GetDateDiff(startDate,endDate)
- {
- var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime();
- var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime();
- var dates = Math.abs((startTime - endTime))/(1000*60*60*24);
- return dates;
- }
- // 日期验证并保证起期<止期
- function checkBegindateAndEnddate(begindate,enddate){
- if(begindate!="" && enddate!=""){
- var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
- var r = begindate.match(reg);
- if(r==null)return false;
- var d1=new Date(r[1], r[3]-1,r[4]);
-
- var r1= enddate.match(reg);
- var d2=new Date(r1[1], r1[3]-1,r1[4]);
- if(d1>d2){
- alert("起期必须小于或等于止期");
- return false;
- }
- }
- return true;
- }
- //日期验证并保证起期(月)<止期(月)并且不能超过一年
- function checkBegindateAndEnddateOnlyOneYear(begindateObj,enddateObj,beginName,endName){
-
- if(begindateObj.value==""||begindateObj.value==null||begindateObj.value=="false"){
- alert("["+beginName+"]不能为空!");
- return false;
- }
- if(enddateObj.value==""||enddateObj.value==null||enddateObj.value=="false"){
- alert("["+endName+"]不能为空!");
- return false;
- }
- if(begindateObj.value!="" && enddateObj.value!=""){
- var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
- var s = begindateObj.value+"-01";
- var r = s.match(reg);
- if(r==null)return false;
- var d1=new Date(r[1], r[3]-1,r[4]);
-
- var d = enddateObj.value+"-01";
- var r1= d.match(reg);
- if(r1==null)return false;
- var d2=new Date(r1[1], r1[3]-1,r1[4]);
- var alltime=d2.getTime()-d1.getTime();
- var days=parseInt(alltime/(1000 * 60 * 60 * 24));
- if(days<0){
- alert(beginName+"必须小于或等于"+endName+"!");
- return false;
- }else if(days>340){
- alert(beginName+"与"+endName+"之间不能超过一年!");
- return false;
- }
- }
- return true;
- }
- //获取起始月和终止月之间的月数,start是传入的开始日期,end传入的结束日期 格式:2019-07-24
- function getMonthNum(start,end){
- var result = []; //建立数组,将取到的月份放入数组返回
- var s = start.split("-"); //取到年和月
- var e = end.split("-");
- var min = new Date();
- var max = new Date();
- min.setFullYear(s[0],s[1]); //将开始日期年月放入min
- max.setFullYear(e[0],e[1]); //将结束日期年月放入max
- var curr = min; //定义变量 = 开始日期的年月
- while(curr <= max){ //遍历,当开始日期小于等于结束日期的时候执行
- var month = curr.getMonth(); //得到开始日期的月份
- //month=month==0?12:month;
- var str="月份:";
- if(month=="0"){//因为月份是0-11,代表1-12月,在这里0相当于12月份
- str+="12";
- }else{
- str+=month;
- }
- result.push(str); //放入数组
- curr.setMonth(month+1);//执行完一次,给开始日期加 1 个月
- }
- return result; //返回取到开始日期和结束日期之间的月份
- }
- //开始日期和结束日期之间不超过一年。并且结束日期不可晚于当前日期
- function getDateInOneYear(begindate,enddate,beginName,endName){
- if(begindate.value!="" && enddate.value!=""){
- //获取当前日期
- var date = new Date();
- var vYear = date.getFullYear()//当前年
- var vMon = date.getMonth()+1;//当前月
- var vDay = date.getDate();//今天
- //当前日期为 年月日的拼接,加0是为了和传入的日期格式统一。
- var nowDate = vYear + "-" + (vMon < 10 ? "0" + vMon : vMon) + "-" + (vDay < 10 ? "0" + vDay : vDay);
-
- //转换成相同格式,将年月日之间‘-’转为了‘/’
- var nTime = new Date(nowDate.replace(new RegExp("-", "g"), "/"));
- var bTime = new Date(begindate.value.replace(new RegExp("-", "g"), "/"));
- var eTime = new Date(enddate.value.replace(new RegExp("-", "g"), "/"));
- //取开始日期和结束日期之间的天数。先获取毫秒值再计算。
- var days = parseInt((eTime.getTime()-bTime.getTime())/1000/60/60/24);
- //取当前日期和结束日期之间的天数。
- var td = parseInt((nTime.getTime()-eTime.getTime())/1000/60/60/24);
- if(td<0){
- alert("结束日期不可晚于当前日期");
- return false;
- }
- if(days<0){
- alert(endName+"不能小于"+beginName+"!");
- return false;
- }else if(days>365){
- alert(beginName+"与"+endName+"之间不能超过一年!");
- return false;
- }
- }
- return true;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。