1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- function dateTime(date, fmt) {
- if (fmt === void 0) {
- fmt = 'yyyy年MM月dd日 hh:mm';
- }
- // 时间戳转换
- if (!date) return '';
- var d = new Date(date);
- var o = {
- "M+": d.getMonth() + 1,
- //月份
- "d+": d.getDate(),
- //日
- "h+": d.getHours(),
- //小时
- "m+": d.getMinutes(),
- //分
- "s+": d.getSeconds() //秒
- }; // 根据y的长度来截取年
- if (/(y+)/.test(fmt)) {
- fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
- }
- for (var k in o) {
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
- }
- return fmt;
- }
- function dateYear() {
- // 获取当年的第一天
- var date = new Date();
- date.setDate(1);
- date.setMonth(0);
- return date.getTime();
- }
- function dateLast() {
- // 获取昨天
- var day = new Date();
- day.setTime(day.getTime() - 24 * 60 * 60 * 1000);
- return dateTime(day, 'yyyy/MM/dd');
- }
- function dateMatter(time, drag = 'normal') {
- // 时间转换
- var timeStr = '';
- var currentDay = dateTime(time, 'yyyy/MM/dd'); // 当前日期
- var lingDay = new Date(new Date().toLocaleDateString()).getTime(); // 获取当天0点
- var isTime = new Date(time) - lingDay;
- var diff = isTime < 0 ? '昨天' : '';
- var isDate = new Date(time) - dateYear();
- if (isDate < 0) {
- drag == 'normal' ? timeStr = dateTime(time) : timeStr = dateTime(time, 'yyyy年MM月dd日');
- } else {
- if (currentDay === dateLast()) {
- drag == 'normal' ? timeStr = diff + dateTime(time, 'hh:mm') : timeStr = diff;
- } else {
- if (isTime < 0) {
- drag == 'normal' ? timeStr = dateTime(time, 'MM月dd日 hh:mm') : timeStr = dateTime(time, 'MM月dd日');
- } else {
- timeStr = dateTime(time, 'hh:mm');
- }
- }
- }
- return timeStr;
- }
|