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;
}
JavaScript Date 對象更多請移步 w3school 或 菜鳥教程
參考:w3school 、菜鳥教程