首页 > 其他分享 >动态设置时间显示:hh:mm、星期、或具体日期

动态设置时间显示:hh:mm、星期、或具体日期

时间:2024-05-07 10:56:15浏览次数:22  
标签:星期 const target mm formatNum hh num Date new

封装共同方法

export function formatMsgTime(time) {
    //time传入的是时间戳,且时间戳长度为10位
    const todayZero = new Date().setHours(0, 0, 0, 0);
    const yearZero = new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0).getTime();
    const target = new Date(time * 1000);
    const oneDay = 24 * 60 * 60 * 1000;
    const oneWeek = 7 * oneDay;
    const diff = todayZero - target.getTime();
    const weekdays = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
    const weekday = weekdays[target.getDay()];

    function formatNum(num) {
        return num < 10 ? '0' + num : num.toString();
    }
    if (diff <= 0) { // 当天, 
        return `${formatNum(target.getHours())}:${formatNum(target.getMinutes())}`;
    } else if (diff <= oneWeek - oneDay * 4) { // 三天内,根据需求修改需要几天内显示的是星期
        return `${weekday} ${formatNum(target.getHours())}:${formatNum(target.getMinutes())}`;
    } else if (diff > oneWeek - oneDay * 4 && target.getTime() >= yearZero) { // 超过三天且在当年
        return `${target.getMonth() + 1}/${target.getDate()} ${formatNum(target.getHours())}:${formatNum(target.getMinutes())}`;
    } else { //不在当年
        return `${target.getFullYear()}/${target.getMonth() + 1}/${target.getDate()} ${formatNum(target.getHours())}:${formatNum(target.getMinutes())}`;
    }
}

module.exports = {
  formatMsgTime: formatMsgTime
}

 

 

标签:星期,const,target,mm,formatNum,hh,num,Date,new
From: https://www.cnblogs.com/ayuaichiyu/p/18176726

相关文章

  • 步进电机脉冲和mm关系
    1.比如步进电机步距角1.8°,采用4细分,直接带丝杆,丝距0.5mm,直线运动5mm需要脉冲数?一个脉冲转动角度=1.8°/4=0.45°步进电机转1圈脉冲数=360°/0.45°=800个丝杆行走1mm脉冲数=(1/0.5)*800=1600个5mm需要脉冲数=5*1600=8000个脉冲2.比如步进电机步距角1.8°,采用8细分,连接减速......
  • 什么是Java内存模型(JMM)?
    什么是Java内存模型(JMM)?一、JMM的相关概念Java内存模型简称JMM(JavaMemoryModel),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让java程序在各种平台下都能达到一致的内存访问效果。这里要注意两点:1)JMM是一个抽象的概念,并不是物理上的内存划分。2)J......
  • git使用模板编辑commit message
    创建commitmessage模板1.创建一个名为commit.template的模板文件:[problemdescription]:[rootcause]:[change]:[changetype]:[sideeffects]:[reviewer]:[selftest]:[testcase]:2.在git中设置模板路径:只在当前git管理的代码中使用此模板,在当前......
  • 面试必问并发编程内存模型JMM与内存屏障剖析 学习
    总课程:1、JMM。每个线程会产生一个变量副本。如下图所示,第二个变量修改了变量initFlag,但线程1并不会退出,是因为每个线程产生了副本。----解决方法:volatileCPU缓存一致性协议:MESI机制,以及内存模型底层八大原子操作。Volatile缓存可见性实现原理:底层实现主要通过汇编lock前......
  • A Critical Study on Data Leakage in Recommender System Offline Evaluation
    目录概主要内容数据集统计信息Top-NRecommendationListRecommendationAccuracy理想的切分方式代码JiY.,SunA.,ZhangJ.andLiC.Acriticalstudyondataleakageinrecommendersystemofflineevaluation.TOIS,2022.概本文讨论了现在的推荐系统评价方式(如L......
  • Do Loyal Users Enjoy Better Recommendations? Understanding Recommender Accuracy
    目录概实验设置实验Interaction-basedLoyaltyActiveTimePeriodbasedLoyaltyRecency代码JiY.,SunA.,ZhangJ.andLiC.DoLoyalUsersEnjoyBetterRecommendations?UnderstandingRecommenderAccuracyfromaTimePerspective.ICTIR,2022.概讨论了推荐中一......
  • python3.12.3下使用flask-script的Command报错AttributeError: module 'inspect' has
    错误如下图:问题原因:因为inspect.getargspec在3.11+中已弃用。翻看源码如下图解决方案:解决方法是使用inspect.fullargspec代替,并添加3个虚拟变量,因为getfullargspec将返回7个项目而不是4个:args,varargs,keywords,defaults,foo,foo1,foo2=inspect.getf......
  • 美商海盗船推出RS MAX系列高性能风扇:30mm厚度、120/140mm规格可选
    美商海盗船推出新款RSMAX系列风扇。这是其首款30mm厚度的散热风扇,通过结合极其耐用的液晶聚合物材料(LCP)和更大的风扇叶片,辅以AirGuide技术,美商海盗船的工程师团队打造的零妥协、性能最好的风扇。相较于传统标准风扇,RSMAX系列风扇在厚度上增加了20%,但能够在更低的转速下产生相同......
  • 2023-2024 ICPC German Collegiate Programming Contest (GCPC 2023)
    B.BalloonDarts首先上一些计算几何的板子。如果\(k\)条直线覆盖\(n\)个点成立的,则有两种情况。如果\(n\lek\)则一定成立,反之在前\(k+1\)个点中必然存在两个点被一条直线经过,我们可以枚举出这条直线,然后暴力的删掉点,然后递归做。#include<bits/stdc++.h>usingnamespaces......
  • xhs全参xs,xt,xscommon逆向分析
    声明本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!目标网站aHR0cHM6Ly93d3cueGlhb2hvbmdzaHUuY29tL2V4cGxvcmUvNjYyNDcxYzkwMDAwMDAwMDA0MDE5ZGYwTrace[x......