util.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. export function timestampFormat(timestamp) {
  2. /** 时间戳转换 */
  3. let curTimestamp = parseInt(new Date().getTime() / 1000), //当前时间戳
  4. timestampDiff = curTimestamp - timestamp, // 参数时间戳与当前时间戳相差秒数
  5. curDate = new Date(curTimestamp * 1000), // 当前时间日期对象
  6. tmDate = new Date(timestamp * 1000), // 参数时间戳转换成的日期对象
  7. Y = tmDate.getFullYear(),
  8. m = tmDate.getMonth() + 1,
  9. d = tmDate.getDate(),
  10. H = tmDate.getHours(),
  11. i = tmDate.getMinutes(),
  12. s = tmDate.getSeconds();
  13. if (timestampDiff < 60) { // 一分钟以内
  14. return "刚刚";
  15. } else if (timestampDiff < 3600) { // 一小时前之内
  16. return Math.floor(timestampDiff / 60) + "分钟前";
  17. } else if (curDate.getFullYear() == Y && curDate.getMonth() + 1 == m && curDate.getDate() == d) {
  18. return '今天 ' + ((String(H).length == 1 ? '0' : '') + H) + ':' + ((String(i).length == 1 ? '0' : '') +
  19. i);
  20. } else {
  21. var newDate = new Date((curTimestamp - 86400) * 1000); // 参数中的时间戳加一天转换成的日期对象
  22. if (newDate.getFullYear() == Y && newDate.getMonth() + 1 == m && newDate.getDate() == d) {
  23. return '昨天 ' + ((String(H).length == 1 ? '0' : '') + H) + ':' + ((String(i).length == 1 ? '0' :
  24. '') + i);
  25. } else if (curDate.getFullYear() == Y) {
  26. return ((String(m).length == 1 ? '0' : '') + m) + '月' + ((String(d).length == 1 ? '0' : '') + d) +
  27. '日 ' + ((String(H).length == 1 ? '0' : '') + H) + ':' + ((String(i).length == 1 ? '0' : '') +
  28. i);
  29. } else {
  30. return Y + '年' + ((String(m).length == 1 ? '0' : '') + m) + '月' + ((String(d).length == 1 ? '0' :
  31. '') + d) + '日 ' + ((String(H).length == 1 ? '0' : '') + H) + ':' + ((String(i).length == 1 ?
  32. '0' : '') + i);
  33. }
  34. }
  35. }
  36. export default {
  37. timestampFormat
  38. }