首页 > 其他分享 >时间处理函数

时间处理函数

时间:2023-07-06 17:32:52浏览次数:37  
标签:const interval param export 时间 date return 处理函数

/**
 * 个位数,加0前缀
 * @param {*} number
 * @returns
 */
import dayjs from 'dayjs';
export namespace time {
    export function addZeroPrefix(number) {
        return number < 10 ? `0${number}` : number;
    }
    // function addZeroPrefix (n) { //另类写法
    //     const str = n.toString()
    //     return str[1] ? str : `0${str}`
    // }

    /**
     * AM/PM替换为上午/下午
     * @param {Date} date
     */
    export function formatTime(date) {
        if (isToday(date)) {
            return dayjs(date)
                .format('A HH:mm')
                .replace('PM', '下午')
                .replace('AM', '上午');
        }
        return getDate(date);
    }
    /**
     * 返回年月日 分割符/
     * @param {Date} date
     * @param {String} splitor
     */
    export function getDate(date, splitor = '/') {
        const year = date.getFullYear();
        const month = date.getMonth() + 1;
        const day = date.getDate();
        return `${year}${splitor}${addZeroPrefix(month)}${splitor}${addZeroPrefix(day)}`;
    }
    /**
     * 返回时分秒/时分
     * @export
     * @param {*} date
     * @param {boolean} [withSecond=false]
     * @returns
     */
    export function getTime(date, withSecond = false) {
        const hour = date.getHours();
        const minute = date.getMinutes();
        const second = date.getSeconds();
        return withSecond ? `${addZeroPrefix(hour)}:${addZeroPrefix(minute)}:${addZeroPrefix(second)}` : `${hour}:${addZeroPrefix(minute)}`;
    }
    /**
     * 年/月/日 时:分:秒
     * @param {DateTime} date
     */
    export function getFullDate(date) {
        return `${getDate(date)} ${getTime(date)}`;
    }
    /**
     * 判断是否是今天
     * @param {Boolean} date
     */
    export function isToday(date) {
        return date.toDateString() === new Date().toDateString();
    }
    /**
     * 总秒数计算为时分秒
     * @param {*} second 秒
     */
    export function formatDuration(second) {
        let interval = second;
        let continued = '';
        if (interval >= 3600) {
            const hour = Math.floor(interval / 3600);
            continued += hour + '小时';
            interval -= hour * 3600;
        }
        if (interval >= 60 && interval < 3600) {
            const min = Math.floor(interval / 60);
            continued += min + '分';
            interval -= min * 60;
        }
        if (interval < 60) {
            continued += Math.floor(interval) + '秒';
        }
        return continued;
    }
}

标签:const,interval,param,export,时间,date,return,处理函数
From: https://blog.51cto.com/u_16103408/6643942

相关文章

  • 使用strace测试打开程序响应时间
    我们想要知道一个程序从运行到打开的响应时间可以使用strace命令测试写一个运行打开某个程序的脚本例如一下脚本可以打开wpstest.sh#!/bin/bash#/usr/bin/google-chrome-stablewww.baidu.com/usr/bin/wps#/usr/bin/kylin-software-center#/usr/bin/kylin-musicexit运行......
  • RocketMq5.0 任意延迟时间 TimerMessageStore 源码解析
    TimerMessageStore简略介绍延迟队列rmq_sys_wheel_timer指定时间的延迟消息。会先投递到rmq_sys_wheel_timer队列中然后由TimerMessageStore消费队列数据,将数据消费到timerWheel使用时间轮算法,实现秒级任务TimerMessageStore操作的文件store\consumequeue\rmq_sy......
  • MySQL创建默认当前时间字段
    MySQL创建一个时间字段默认当前时间,插入数据时无需给这个字段添加值,会自动默认当前时间类型:timestamp,默认值:CURRENT_TIMESTAMP ......
  • UTC转时间戳,转指定格式
    UTC转时间戳,转指定格式2023-06-29T03:15:48.000Z转为2023-06-2911:15:48SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");SimpleDateFormatsdfUtc=newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");sdfUtc.......
  • elementui 时间选择器默认时间格式
    <el-date-pickerv-model="searchForm.date"@change="getDate"type="daterange"range-separator="至"......
  • 未来数据定时刷新——从zset中获取预设时间内的任务添加到list中
    未来数据定时刷新——实现步骤:定时任务/每分钟————》未来数据的keys————》按照分值查询zset,判断数据是否到期——到期》同步到Redis中的list 1、如何获取zset中所有的key?keys模糊匹配,future。效率低SCNA命令:SCAN命令是一个基于游标的迭代器,SCAN命令......
  • 为组态王编写的 时间段 选择 控件 python
    日历控件使用说明这是一个专门为组态软件(如组态王,力控等)设计的时间选择控件,用于选择一个时间段,来进行数据报表的查询.控件实际由2部分组成,1个UI程序,和1个modbusTCP从机服务器.从机服务器用于UI程序和组态软件的通信.  日期部分,时间间隔部分,支持滚轮改变日期......
  • 时间序列数据库压缩
    无损压缩无损压缩是说被压缩的数据和解压后的数据完全一样,不存在精度的损失。对数据的压缩说到底是对数据规律性的总结。时序数据的规律可以总结为两点:1、timestamp稳定递增、2、数值有规律性,变化稳定。下面来举个例子。上图是一组时序数据,如果我们一行一行的看感觉压缩有点困难,但......
  • echarts,时间轴折线图,tooltip相关
    其中,data数组是通过echarts工具由表格直接转换得到:https://echarts.apache.org/zh/spreadsheet.html第一部分:datadata中的长串是由表格得到,由日期转为的时间戳形式,比如‘1636905600000’,是excel中的【2021/11/150:00:00】通过公示【=((C3-70*365-19)*86400-8*3600)*1000】得到1......
  • java8 日期、时间处理类
    一、LocalDate类创建LocalDate方法说明staticLocalDatenow()获取默认时区的当前日期,默认返回格式yyyy-MM-ddstaticLocalDatenow(Clockclock)从指定时钟获取当前日期staticLocalDatenow(ZoneIdzone)获取指定时区的当前日期staticLocalDateof(i......