//将日期转换成字符串格式输出
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方法,转换为毫秒后,用第二个所给的日期减去第一个所给的日期得出毫秒差
//-------------------------------------------------------------------------