[关闭]
@Wangww0925 2019-08-07T07:55:37.000000Z 字数 1357 阅读 198

根据时间戳,返回时间,用于展示【消息发送时间】

js-Date()


注意:单位是毫秒

  1. /** 时间封装函数
  2. * 参数
  3. time 时间戳, 单位 毫秒
  4. * 调用
  5. dateDetail(new Date().getTime());
  6. */
  7. function dateDetail(time) {
  8. var now = new Date(time);
  9. var m = now.getMonth() + 1;
  10. var d = now.getDate();
  11. var h = new Date(time).getHours();
  12. var min = new Date(time).getMinutes();
  13. var s = new Date(time).getSeconds();
  14. var ms = new Date(time).getMilliseconds();
  15. return {
  16. y: now.getFullYear(), // 年
  17. m: m < 10 ? "0" + m : m, // 月
  18. d: d < 10 ? "0" + d : d, // 日
  19. t: now.getTime(), // 时间戳
  20. tZero: now.setHours(0,0,0,0), // 凌晨时间戳
  21. w: now.getDay(), // 星期
  22. h: h < 10 ? "0" + h : h, // 时
  23. min: min < 10 ? "0" + min : min, // 分
  24. s: s < 10 ? "0" + s : s, // 秒
  25. ms: ms, // 毫秒
  26. }
  27. }
  28. /** 根据时间戳,返回时间,用于展示【消息发送时间】
  29. * 说明
  30. 1、 必须小于当前时间戳
  31. * 参数
  32. time 时间戳, 单位 毫秒
  33. */
  34. function setTime(time){
  35. var timeStamp = 24 * 60 * 60 * 1000; // 一天时间戳
  36. var now = dateDetail(new Date().getTime());
  37. var date = dateDetail(new Date(time).getTime());
  38. console.log(now.y + "-" + now.m + "-" + now.d, date.y + "-" + date.m + "-" + date.d)
  39. // 判断为今日
  40. if (now.tZero < date.t){
  41. return date.h + ":" + date.min
  42. }
  43. // 判断为昨天
  44. var yesterday = dateDetail(now.t - timeStamp);
  45. if (yesterday.tZero < date.t){
  46. return "昨日 " + date.h + ":" + date.min
  47. }
  48. // 判断为本周
  49. var day = {
  50. 0: 6,
  51. 1: 0,
  52. 2: 1,
  53. 3: 2,
  54. 4: 3,
  55. 5: 4,
  56. 6: 5
  57. }
  58. var xq = {
  59. 0: "日",
  60. 1: "一",
  61. 2: "二",
  62. 3: "三",
  63. 4: "四",
  64. 5: "五",
  65. 6: "六"
  66. }
  67. var week = dateDetail(now.t - day[now.w] * timeStamp); // 周一时间戳
  68. if (week.tZero < date.t){
  69. return "周" + xq[date.w] + " " + date.h + ":" + date.min
  70. }
  71. // 其他时间
  72. return date.y + "-" + date.m + "-" + date.d
  73. }
  74. setTime(new Date().getTime() - 1000 * 60 * 5);
  75. setTime(new Date().getTime() - 1000 * 60 * 60 * 30);
  76. setTime(new Date().getTime() - 1000 * 60 * 60 * 24 * 2);

作者 wendy
2019 年 7月 30日

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注