mysql 타임스탬프가 프런트 데스크로 전송되며 바이두의 변환 코드를 사용할 수 없습니다. 이 코드 조각은 온라인 전환 웹사이트에서 가져온 것입니다.
/** * 将时间转换为 xx小时前 * @param {Object} pTime */ 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; } }
function format(timestamp) { var time = new Date(timestamp); var year = time.getFullYear(); var month = (time.getMonth() + 1) > 9 && (time.getMonth() + 1) || ('0' + (time.getMonth() + 1)) var date = time.getDate() > 9 && time.getDate() || ('0' + time.getDate()) var hour = time.getHours() > 9 && time.getHours() || ('0' + time.getHours()) var minute = time.getMinutes() > 9 && time.getMinutes() || ('0' + time.getMinutes()) var second = time.getSeconds() > 9 && time.getSeconds() || ('0' + time.getSeconds()) var YmdHis = year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second; return YmdHis; } var timestamp = '1466076718000'; timestamp = timestamp.replace(/^\s+|\s+$/, ''); if (/^\d{10}$/.test(timestamp)) { timestamp *= 1000; } else if (/^\d{13}$/.test(timestamp)) { timestamp = parseInt(timestamp); } else { alert('时间戳格式不正确!'); return; } var YmdHis = format(timestamp); alert(YmdHis);