自己封装的一个js方法用于获取显示的星期和日期时间

时间:2023-03-08 19:29:51

自己封装的一个js方法用于获取显示的星期和日期时间

/**
* 获取用于显示的星期和日期时间
* @param date
* @returns {string}
*/
function getWeek(date){
//将字符串日期转换日期对象
date = date.replace(/-/g, '/');
var dd = new Date(date);
var curDate = new Date();
var curDate2 = new Date();
var m = dd.getMonth()+1<10?"0"+(dd.getMonth()+1):dd.getMonth()+1;
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();
var weekday=["周日","周一","周二","周三","周四","周五","周六"];
var mynum=dd.getDay(); var week,weekdate;
var curMd = curDate.getMonth()+1+"-"+curDate.getDate();
var md = dd.getMonth()+1+"-"+dd.getDate();
//昨天
curDate2.setDate(curDate2.getDate()-1);
var curMd2 = curDate2.getMonth()+1+"-"+curDate2.getDate();
//时间
var hour = dd.getHours()<10?"0"+dd.getHours():dd.getHours();
var minutes = dd.getMinutes()<10?"0"+dd.getMinutes():dd.getMinutes();
if(curMd == md){
week = "今天";
weekdate = hour+":"+minutes;
}else if(curMd2 == md){
week = "昨天";
weekdate = hour+":"+minutes;
}else{
week = weekday[mynum];
weekdate = m+"-"+d;
} return week+"|"+weekdate;
}

上面的字符串日期对象转换在ios手机上面会有问题,需要通过正则先处理一下,将'-'替换成'/',如下:

date = date.replace(/-/g, '/');

var dd = new Date(date);