1.寫一個函數(shù)getChIntv唠倦,獲取從當(dāng)前時間到指定日期的間隔時間
function getChIntv(timeStr){
var arr = timeStr.split('-') //把時間字符串切割成數(shù)組
console.log(arr); //["2018", "02", "15"]
arr[1] = parseInt(arr[1]); //把月份02轉(zhuǎn)化成2
timeStr = arr.join('-'); //把數(shù)組連接成時間字符串
console.log(timeStr); //2018-2-15
var timeEnd = new Date(timeStr).getTime();
var timeStart = Date.now();
var time = timeEnd - timeStart;
var day = parseInt(time / (1000*86400));
var hour = parseInt(time % (1000*86400) / (1000*3600));
var minute = parseInt(time % (1000*86400) % (1000*3600) / (1000*60));
var second = parseInt(time % (1000*86400) % (1000*3600) % (1000*60) / 1000 );
return "距除夕還有" + day + "天" + hour + "小時"+minute + "分"+ second + "秒";
}
var str = getChIntv("2018-02-15"); // 2018年的除夕公歷
console.log(str); // 距除夕還有307天10小時21分18秒
這里2018-02-15 轉(zhuǎn)化的時間是格林威治的標(biāo)準(zhǔn)時區(qū)的時間称鳞,2018-2-15轉(zhuǎn)化后是本地的北京時間,做過測試稠鼻,會差8個小時時區(qū)時間冈止,所以我才費勁吧這個0去掉,Date對象真坑:虺荨N醣!
2.把hh-mm-dd格式數(shù)字日期改成中文日期
function getChsDate(timeStr){
dict = ['零','一','二','三','四','五','六','七','八','九','十',
'十一','十二','十三','十四','十五','十六',
'十七','十八','十九','二十','二十一','二十二',
'二十三','二十四','二十五','二十六','二十七',
'二十八','二十九','三十','三十一']
var timeArr = timeStr.split('-');
var year = "", month = "", day = "";
for(var i in timeArr[0]){
year += dict[timeArr[0][i]];
}
month += dict[parseInt(timeArr[1])];
day += dict[parseInt(timeArr[2])]
return year + "年" + month + "月" + day + "日";
}
var str = getChsDate('2015-01-08');
console.log(str); //二零一五年一月八日
3.寫一個函數(shù)慌盯,參數(shù)為時間對象毫秒數(shù)的字符串格式周霉,返回值為字符串。假設(shè)參數(shù)為時間對象毫秒數(shù)t亚皂,根據(jù)t的時間分別返回如下字符串:
function friendlyDate(time){
var timeStart = parseInt(time);
var timeEnd = Date.now();
var time = timeEnd - timeStart;
if(time < 1000*60){
return "剛剛";
}else if(time < 1000*60*60){
return "3分鐘前";
}else if(time < 1000*60*60*24){
return "8小時前";
}else if(time < 1000*60*60*24*30){
return "3天前";
}else if(time < 1000*60*60*24*30*12){
return "2個月前";
}else{
return "8年前";
}
}
var str = friendlyDate( '1492065298587' ) // 剛剛
var str2 = friendlyDate('1491005298587') // 3天前