JS中时间格式转换
DateBox1.GetValue(); //获取到DateBox1的值 //Tue Feb 26 2019 00:00:00 GMT+0800 (中国标准时间) 执行会显示你控件所选择的时间 var d=DateBox1.GetValue(); var a=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds(); //getFullYear() 方法可返回一个表示年份的 4 位数字。 //getMonth() 方法可返回表示月份的数字。使用本地时间。 返回值是 0(一月) 到 11(十二月) 之间的一个整数。 所以在这里会“+1” //getDate() 方法可返回月份的某一天。 返回月份的某一天。 //getHours() 方法可返回时间的小时字段. 返回值是 0 (午夜) 到 23 (晚上 11 点)之间的一个整数。 //getMinutes() 方法可返回时间的分钟字段。 返回值是 0 ~ 59 之间的一个整数。 //getSeconds() getSeconds() 方法可返回时间的秒。 返回值是 0 ~ 59 之间的一个整数。 a//控制台直接输出 "2019-2-26 0:0:0"
var S="2019-2-23"; S = new Date(Date.parse(S.replace(/-/g, "/")));//正则匹配是否是时间格式之后转换为date格式 S=S.getTime();//将S转换为毫秒 var myDate = new Date();//创建当前myDate var endDate = myDate.getTime();转换为毫秒 var day = ((endDate-S)/1000/3600/24);用结束时间减去开始时间得到差值
遇到运算两个时间的差:
//初始化时间 show_date_time("2019-02-25","2019-02-27");//注意要考虑到开始时间>结束时间
function show_date_time(BeginDate,EndDate){ BeginDate=new Date(BeginDate); EndDate=new Date(EndDate); //总秒数 var millisecond = Math.floor((EndDate.getTime() - BeginDate.getTime())/1000); //总天数 var allDay = Math.floor(millisecond/(24*60*60)); //注意同getYear的区别 var startYear = BeginDate.getFullYear(); var currentYear = EndDate.getFullYear(); //闰年个数 var leapYear = 0; for(var i=startYear;i<currentYear;i++){ if(isLeapYear(i)){ leapYear++; } } //年数 var year = Math.floor((allDay - leapYear*366)/365 + leapYear);; //天数 var day; if(allDay => 366){ day = (allDay - leapYear*366)%365; }else{ day = allDay; } //取余数(秒) var remainder = millisecond%(24*60*60); //小时数 var hour = Math.floor(remainder/(60*60)); //分钟数 var minute = Math.floor(remainder%(60*60)/60); //秒数 var second = remainder - hour*60*60 - minute*60; var span = "相差" + (year>0 ? (year + "年"):"") + day + "天" + hour + "小时" + minute + "分" + second + "秒" ; return span; } //判断是否是闰年 function isLeapYear(year){ if((year%4==0 && year%100!=0)||(year%100==0 && year%400==0)){ return true; } return false; }