首页 > 其他分享 >js 根据时间,输出几分钟前,几小时前,几天前,几个月前,几年前。 console.log(getDateDiff("2020-12-16 12:12:12")); 输出结果:

js 根据时间,输出几分钟前,几小时前,几天前,几个月前,几年前。 console.log(getDateDiff("2020-12-16 12:12:12")); 输出结果:

时间:2023-07-12 18:12:04浏览次数:50  
标签:输出 12 console else parseInt result var return

js 根据时间,输出几分钟前,几小时前,几天前,几个月前,几年前。
原文链接:https://blog.csdn.net/qq_42740797/article/details/111277824

代码1:

  1. // 时间戳转多少分钟之前
  2. function getDateDiff(dateTimeStamp) {
  3. // 时间字符串转时间戳
  4. var timestamp = new Date(dateTimeStamp).getTime();
  5. var minute = 1000 * 60;
  6. var hour = minute * 60;
  7. var day = hour * 24;
  8. var halfamonth = day * 15;
  9. var month = day * 30;
  10. var year = day * 365;
  11. var now = new Date().getTime();
  12. var diffValue = now - timestamp;
  13. var result;
  14. if (diffValue < 0) {
  15. return;
  16. }
  17. var yearC = diffValue / year;
  18. var monthC = diffValue / month;
  19. var weekC = diffValue / (7 * day);
  20. var dayC = diffValue / day;
  21. var hourC = diffValue / hour;
  22. var minC = diffValue / minute;
  23. if (yearC >= 1) {
  24. result = "" + parseInt(yearC) + "年前";
  25. } else if (monthC >= 1) {
  26. result = "" + parseInt(monthC) + "月前";
  27. } else if (weekC >= 1) {
  28. result = "" + parseInt(weekC) + "周前";
  29. } else if (dayC >= 1) {
  30. result = "" + parseInt(dayC) + "天前";
  31. } else if (hourC >= 1) {
  32. result = "" + parseInt(hourC) + "小时前";
  33. } else if (minC >= 1) {
  34. result = "" + parseInt(minC) + "分钟前";
  35. } else
  36. result = "刚刚";
  37. return result;
  38. }
  39. console.log(getDateDiff("2020-12-16 12:12:12"));

测试时间:2020年12月16日14:30:21,输出结果:2小时前。

代码2:

  1. function getDateDiff(dateStr) {
  2. var publishTime = getDateTimeStamp(dateStr) / 1000,
  3. d_seconds,
  4. d_minutes,
  5. d_hours,
  6. d_days,
  7. timeNow = parseInt(new Date().getTime() / 1000),
  8. d,
  9. date = new Date(publishTime * 1000),
  10. Y = date.getFullYear(),
  11. M = date.getMonth() + 1,
  12. D = date.getDate(),
  13. H = date.getHours(),
  14. m = date.getMinutes(),
  15. s = date.getSeconds();
  16. //小于10的在前面补0
  17. if (M < 10) {
  18. M = '0' + M;
  19. }
  20. if (D < 10) {
  21. D = '0' + D;
  22. }
  23. if (H < 10) {
  24. H = '0' + H;
  25. }
  26. if (m < 10) {
  27. m = '0' + m;
  28. }
  29. if (s < 10) {
  30. s = '0' + s;
  31. }
  32. d = timeNow - publishTime;
  33. d_days = parseInt(d / 86400);
  34. d_hours = parseInt(d / 3600);
  35. d_minutes = parseInt(d / 60);
  36. d_seconds = parseInt(d);
  37. if (d_days > 0 && d_days < 3) {
  38. return d_days + '天前';
  39. } else if (d_days <= 0 && d_hours > 0) {
  40. return d_hours + '小时前';
  41. } else if (d_hours <= 0 && d_minutes > 0) {
  42. return d_minutes + '分钟前';
  43. } else if (d_seconds < 60) {
  44. if (d_seconds <= 0) {
  45. return '刚刚';
  46. } else {
  47. return d_seconds + '秒前';
  48. }
  49. } else if (d_days >= 3 && d_days < 30) {
  50. return M + '-' + D + ' ' + H + ':' + m;
  51. } else if (d_days >= 30) {
  52. return Y + '-' + M + '-' + D + ' ' + H + ':' + m;
  53. }
  54. }
  55. function getDateTimeStamp(dateStr) {
  56. // 如果时间格式为2020/07/09 21:43:19.000 需要去掉.000 不然ios和firefox会有问题
  57. return Date.parse(dateStr.replace(/-/gi, "/"));
  58. }  
  59. console.log(this.getDateDiff("2020-07-03 10:03:19.000"));

标签:输出,12,console,else,parseInt,result,var,return
From: https://www.cnblogs.com/sunny3158/p/17548475.html

相关文章

  • 7.12 周三总结
    学了循环语句while,两道力扣算法题和do......while循环,无限循环和跳转控制语句,循环高级练习和平方根。做了一些pta试题,略微复习了一下前面c++中所学习过的内容。明天除了继续按照进度听课之外,还开始进行大道至简的阅读与感悟。......
  • 2023河南萌新联赛第(一)场:河南农业大学 11/12
    晚来了一小时,终榜14名,血亏https://ac.nowcoder.com/acm/contest/61132A题不会,我选择oeisn=int(input())print(n*(n+1)*(n+2)//6%1000000007)python代码B题考虑线段树f[x][i][0]表示如果x所统辖的区间里,x第i位为0做计算得到的值,f[x][i][1]表示x所统辖的区间里,第i位为1做计......
  • 7.12
    面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。但是在面向对象设计之前,广泛采......
  • Day08(2023.07.12)
    行程8:45    到达上海市信息安全测评认证中心(黄浦区陆家浜路1308号)9:00  学习《网络安全等级测评师培训教材》11:30--13:00   吃饭休息13:00 学习《网络安全等级测评师培训教材》17:00      下班 路由器:堡垒机:如......
  • R语言中数据输出保存为EPS格式
     001、setEPS()postscript("test001.eps")##输出为EPS矢量图格式plot(1:100,main="justatest")dev.off()    。 ......
  • LeetCode 剑指 Offer 12. 矩阵中的路径
    题目链接:LeetCode剑指Offer12.矩阵中的路径题意:给定一个 mxn二维字符网格 board和一个字符串单词 word。如果 word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元......
  • HHHOJ #1238. 「NOIP 2023 模拟赛 20230712 D」但战斗还未结束 思考--zhengjun
    赛时想写60pts,结果cxr似乎少算了一点空间,导致我一直没把空间卡过去QWQ。当时不会dfs求拓扑序,这里讲一下。枚举所有非访问过的点依次dfs,每次进行下列操作:找出\(v\)的一个未访问过的入点\(u\),调用dfs(u);找不到\(u\)的时候,把\(v\)加入拓扑序列中。代码#inc......
  • 123
    之前由于安装Dolby音效的软件,导致无法开机解决办法:1.安全启动开机按F8,选择“安全启动”,进入到系统2.删除程序如果软件和驱动可以直接卸载就卸载,不能卸载就用文件夹在C盘搜索相关文件名,然后删除所有的文件,如果无权删除可以右击使用腾讯电脑管家删除。如果没有安装电脑管......
  • 7.12日
    一、学Java的容器部分并完成五道练习题,之后就可以开始学技术内容了。二、cf刷题,最低170道,然后模拟参与一场竞赛。在这里恭喜一下自己,第一次做出四道题,上大分。 #include<bits/stdc++.h>#defineintlonglong#definexfirst#defineysecond#defineendl'\n'#define......
  • 成语积累 20230712
    惨淡经营:惨淡:苦费心思;经营:筹划。原指煞费苦心地从事绘画或诗文创作,今泛指在困难的境况中艰苦的从事某种事业。作谓语,定语。不吐不茹:不吐刚,不茹柔:不吐坚硬的东西,不吞柔软的东西,即吞坚硬的东西。形容人正直不阿,不欺软怕硬。作谓语,定语。近义:刚正不阿。反义:柔茹刚吐。例句:我们就是......