//将日期转换成字符串格式输出
function formatDateToString(){
// 先获取对象日期
var oDate = new Date();
// 从该对象中分别拿出所需要的 年,月日,时,分,秒 并放到一个变量中存储起来
var year = oDate.getFullYear();
var month = oDate.getMonth()+1;
var date = oDate.getDate();
var hours = oDate.getHours();
var minutes = oDate.getMinutes();
var seconds = oDate.getSeconds();
return year + "-" + month + "-" + date + " " + hours + ":" + minutes + ":" + seconds;
}
console.log(formatDateToString());//输出结果为计算机当前时间,格式为2018-01-24 18:01:43;
//-------------------------------------------------------------------
//b)将日期格式的字符串转换成对象 格式为 YYYY-MM-DD HH:II:SS
function formatStringToDate(str){
//字符串的分割,丢弃所分割的字符并产生的字符串
var oDate =str.split(" ");//[2018-01-24,15:01:43]
//将日期分割成年份和时间两部分
var left = oDate[0];//[2018-01-24]
var right = oDate[1];//[18:01:43]
left = left.split("-");//[18,01,24]
right = right.split(":");//[18,01,43]
return new Date(left[0],left[1]-1,left[2],right[0],right[1],right[2]);
}
console.log(formatStringToDate('2018-01-24 18:01:43'));//此时输入的月份是比输出的月份大一的
//-------------------------------------------------------------------------
//c)将字符串格式的日期转换成毫秒
function formatStringToMilli(str){
//因为日期的方法中有直接转换为毫秒的方法 oDate.getTime();所以现将字符串格式的日期转换为对象
var oDate = formatStringToDate(str); // 调用前面所封装的将字符串转换为对象的方法
return oDate.getTime();
}
console.log(formatStringToMilli('2018-01-24 18:01:43'));
//-------------------------------------------------------------------------
//d)计算两个日期的差值.
function diffDate(str1,str2){
var
oDate1 = formatStringToDate(str1),
oDate2 = formatStringToDate(str2);
return oDate2.getTime() - oDate1.getTime();
}
console.log(diffDate('2018-01-24 18:01:43','2018-01-24 18:01:44'));
//解析思路:先用已经封装的方法b)转换为对象.然后使用日期自身的time方法,转换为毫秒后,用第二个所给的日期减去第一个所给的日期得出毫秒差
//-------------------------------------------------------------------------