1:UTC轉24小時制時間--年月日 時分數組
function utc2beijing(utc_datetime) { // UTC轉時間
function formatFunc(str) { //格式化顯示
return str > 9 ? str : '0' + str
}
var UTCDateString= utc_datetime //2017-11-16 PM 01:23
var date2 = new Date(UTCDateString); //這步是關鍵
var year = date2.getFullYear();
var mon = formatFunc(date2.getMonth() + 1);
var day = formatFunc(date2.getDate());
var hour = date2.getHours();
// var noon = hour >= 12 ? 'PM' : 'AM';
// hour = hour>=12?hour-12:hour;
// hour = formatFunc(hour);
var min = formatFunc(date2.getMinutes());
var dateStr = year+'-'+mon+'-'+day+' '+hour+':'+min;
return dateStr
}
複製代碼
最後結果markdown
utc2beijing("2018-12-18T23:36:26+08:00")
"2018-12-18 23:36"
複製代碼
2:日期轉換 Tue Jan 01 2019 09:59:18 GMT+0800 (UTC時間) ---> 2018-12-18--------------------spa
function changeDateType(date) {
var now = new Date(date);
var year = now.getFullYear();
var honth = now.getMonth() + 1;
var day = now.getDate();
return `${year}-${honth}-${day}`
}
複製代碼
3:幾天前 - 幾小時前 - 幾秒前 jsDateDiff('2018/12/19 22:00:00')-----------------code
function jsDateDiff(pTime){
var d_minutes,d_hours,d_days,d;
var timeNow = parseInt(new Date().getTime()/1000);
pTime_new = new Date(pTime).getTime()/1000;
d = timeNow - pTime_new;
d_days = parseInt(d/86400);
d_hours = parseInt(d/3600);
d_minutes = parseInt(d/60);
if(d_days>0 && d_days<4){
return d_days+"天前";
}else if(d_days<=0 && d_hours>0){
return d_hours+"小時前";
}else if(d_hours<=0 && d_minutes>0){
return d_minutes+"分鐘前";
}else{
return pTime;
}
}
複製代碼
**4: 獲取當前日期2018-12-18 ------------------------------ **orm
function getCurrentDate(format) {
var now = new Date();
var year = now.getFullYear(); //獲得年份
var month = now.getMonth(); //獲得月份
var date = now.getDate(); //獲得日期
var day = now.getDay(); //獲得周幾
var hour = now.getHours(); //獲得小時
var minu = now.getMinutes(); //獲得分鐘
var sec = now.getSeconds(); //獲得秒
month = month + 1;
if (month < 10) month = "0" + month;
if (date < 10) date = "0" + date;
if (hour < 10) hour = "0" + hour;
if (minu < 10) minu = "0" + minu;
if (sec < 10) sec = "0" + sec;
var time = "";
if (format == 1) { //精確到天
time = year + "-" + month + "-" + date;
} else if (format == 2) { //精確到分
time = year + "-" + month + "-" + date + " " + hour + ":" + minu + ":" + sec;
}
return time;
}
複製代碼
結果:getCurrentDate(1)精確到天 getCurrentDate(2)精確到分--------------對象
5:時間往前加,dateAdd(14) 14天后的時間------------------------------字符串
function dateAdd(add) {
var dateTime = new Date();
dateTime = dateTime.setDate(dateTime.getDate() + add);
dateTime = new Date(dateTime);
return dateTime
}
複製代碼
** 結果: //dateAdd(14) 14天后 =》Tue Jan 01 2019 09:59:18 GMT+0800 (中國標準時間)-**get
6:時間戳轉化爲年 月 日 時 分 秒---------------it
function formatTime(number, format) {
var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
var returnArr = [];
var date = new Date(number);
returnArr.push(date.getFullYear() + '年');
returnArr.push(formatNumber(date.getMonth() + 1 + '月'));
returnArr.push(formatNumber(date.getDate() + '日'));
returnArr.push(formatNumber(date.getHours()));
returnArr.push(formatNumber(date.getMinutes()));
returnArr.push(formatNumber(date.getSeconds()));
// returnArr.push(formatNumber(date.getMilliseconds()));
for (var i in returnArr) {
format = format.replace(formateArr[i], returnArr[i]);
}
return format;
}
複製代碼
number: 傳入時間戳;format:返回格式,支持自定義,但參數必須與formateArr裏保持一致--------io
7://得到兩個日期之間相差的天數
function daysBetween(date1, date2) {
var date1Str = date1.split("-"); //將日期字符串分隔爲數組,數組元素分別爲年.月.日
//根據年 . 月 . 日的值建立Date對象
var date1Obj = new Date(date1Str[0], (date1Str[1] - 1), date1Str[2]);
var date2Str = date2.split("-");
var date2Obj = new Date(date2Str[0], (date2Str[1] - 1), date2Str[2]);
var t1 = date1Obj.getTime();
var t2 = date2Obj.getTime();
var dateTime = 1000 * 60 * 60 * 24; //每一天的毫秒數
var minusDays = Math.floor(((t2 - t1) / dateTime)); //計算出兩個日期的天數差
var days = Math.abs(minusDays); //取絕對值
return days;
}
// s1 = "2018-8-10"
// s2 = "2018-8-22"
// console.log(daysBetween(s1, s2))
複製代碼