JS根据时间戳 或 yyyy-MM-dd HH:mm:ss来获取前天、今天、明天、后天等

29次阅读

共计 2336 个字符,预计需要花费 6 分钟才能阅读完成。

时间戳或 yyyy-MM-dd HH:mm:ss
由于项目有多个后端人员,难免会出现返回时间样式不统一现象,但前端显示又要统一,先上代码
// params => “2019-04-02 17:11:55″ OR 1554257391000 (毫秒) 只需调用此函数
function formatRecentTime(params) {
var date = ”
if (isNaN(params)) {// 判断是否是时间戳
date = params.toString()
} else {
date = timeFormat(params)
}
var year = date.substring(0, 4)
var month = date.substring(5, 7)
var day = date.substring(8, 10)
var hour = date.substring(11, 13)
var minute = date.substring(14, 16)
var seconds = date.substring(17, 19)
var orignDate = year + ‘-‘ + month + ‘-‘ + day + ‘ ‘ + hour + ‘:’ + minute + ‘:’ + seconds
var yesterday = GetDateStr(-1)// 昨天
var yesterdayStr = yesterday.split(‘-‘)
yesterdayStr[1] = yesterdayStr[1].length === 1 ? ‘0’ + yesterdayStr[1] : yesterdayStr[1]
yesterdayStr[2] = yesterdayStr[2].length === 1 ? ‘0’ + yesterdayStr[2] : yesterdayStr[2]

var today = GetDateStr(0)// 今天
var todayStr = today.split(‘-‘)
todayStr[1] = todayStr[1].length === 1 ? ‘0’ + todayStr[1] : todayStr[1]
todayStr[2] = todayStr[2].length === 1 ? ‘0’ + todayStr[2] : todayStr[2]

var tomorrow = GetDateStr(1)// 明天
var tomorrowStr = tomorrow.split(‘-‘)
tomorrowStr[1] = tomorrowStr[1].length === 1 ? ‘0’ + tomorrowStr[1] : tomorrowStr[1]
tomorrowStr[2] = tomorrowStr[2].length === 1 ? ‘0’ + tomorrowStr[2] : tomorrowStr[2]

var afterTomorrow = GetDateStr(2)// 后天
var afterTomorrowStr = afterTomorrow.split(‘-‘)
afterTomorrowStr[1] = afterTomorrowStr[1].length === 1 ? ‘0’ + afterTomorrowStr[1] : afterTomorrowStr[1]
afterTomorrowStr[2] = afterTomorrowStr[2].length === 1 ? ‘0’ + afterTomorrowStr[2] : afterTomorrowStr[2]

if (year === yesterdayStr[0] && month === yesterdayStr[1] && day === yesterdayStr[2]) {
return ‘ 昨天 ’ + ‘ ‘ + hour + ‘:’ + minute
} else if (year === todayStr[0] && month === todayStr[1] && day === todayStr[2]) {
return ‘ 今天 ’ + ‘ ‘ + hour + ‘:’ + minute
} else if (year === tomorrowStr[0] && month === tomorrowStr[1] && day === tomorrowStr[2]) {
return ‘ 明天 ’ + ‘ ‘ + hour + ‘:’ + minute
} else if (year === afterTomorrowStr[0] && month === afterTomorrowStr[1] && day === afterTomorrowStr[2]) {
return ‘ 后天 ’ + ‘ ‘ + hour + ‘:’ + minute
} else {
return orignDate
}
}

// 时间戳转化成时间格式
function timeFormat(timestamp) {
var time = new Date(timestamp)
var year = time.getFullYear()
var month = time.getMonth() + 1
var date = time.getDate()
var hours = time.getHours()
var minutes = time.getMinutes()
var seconds = time.getSeconds()
return year + ‘-‘ + add0(month) + ‘-‘ + add0(date) + ‘ ‘ + add0(hours) + ‘:’ + add0(minutes) + ‘:’ + add0(seconds)
}

// 保证不出现个位数情况
function add0(m) {return m < 10 ? ‘0’ + m : m}

function GetDateStr(AddDayCount) {
var dd = new Date()
dd.setDate(dd.getDate() + AddDayCount)
var y = dd.getFullYear()
var m = dd.getMonth() + 1
var d = dd.getDate()
return y + ‘-‘ + m + ‘-‘ + d
}

正文完
 0