Day.js 常用用法

2023-11-05

ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(我认为克服恐惧最好的办法理应是:面对内心所恐惧的事情,勇往直前地去做,直到成功为止。——罗斯福)
ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ在这里插入图片描述

Day.js

时间戳转换

const nowTime = dayjs().format();
console.log('获取当前时间', nowTime);

const nowSecondTimestamp = dayjs(nowTime).unix();
console.log('当前时间转换为秒级时间戳', nowSecondTimestamp);

const nowMillisecondTimestamp = dayjs(nowTime).valueOf();
console.log('当前时间转换为毫秒级时间戳', nowMillisecondTimestamp);

const nowTimeFormat = dayjs(nowTime).format(defaultFormat);
console.log('使用指定格式转换时间', nowTimeFormat);

年份操作

const thisYear = dayjs(nowTime).format('YYYY');
console.log('获取当前年份', thisYear);

const preYear = dayjs(nowTime).subtract(1, 'year').format('YYYY');
console.log('获取现在时间的上一个年份', preYear);

const targetPreYear = dayjs(preYear).subtract(1, 'year').format('YYYY');
console.log('获取指定年份的上一年', targetPreYear);

月份操作

const thisMonth = dayjs(nowTime).format('MM');
console.log('获取当前月份', thisMonth);

const preMonth = dayjs(nowTime).subtract(1, 'month').format('MM');
console.log('获取上个月份', preMonth);

const thisMonthDays = dayjs(nowTime).daysInMonth();
console.log('获取当天月份天数', thisMonthDays);

const preMonthDays = dayjs(nowTime).subtract(1, 'month').daysInMonth();
console.log('获取上个月份天数', preMonthDays);

const targetMonthDays = dayjs(preMonth).daysInMonth();
console.log('获取指定月份天数', targetMonthDays);

const thisMonthFirstDays = dayjs(nowTime).startOf('month').format('YYYY-MM-DD HH:mm:ss');
console.log('当月第一天', thisMonthFirstDays);

const thisMonthEndDays = dayjs(nowTime).endOf('month').format('YYYY-MM-DD HH:mm:ss');
console.log('当月最后一天', thisMonthEndDays);

const thisMonthFirstDaysBeforce7Days = dayjs(thisMonthFirstDays).subtract(7, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('当月第一天前七天', thisMonthFirstDaysBeforce7Days);

const thisMonthEndDaysBeforce7Days = dayjs(thisMonthEndDays).subtract(7, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('当月月底前七天', thisMonthEndDaysBeforce7Days);

const thisMonthFirstDaysAfter7Days = dayjs(thisMonthFirstDays).subtract(-7, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('当月第一天后七天', thisMonthFirstDaysAfter7Days);

const thisMonthEndDaysAfter7Days = dayjs(thisMonthEndDays).subtract(-7, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('当月月底后七天', thisMonthEndDaysAfter7Days);

const preMonthSecondDay = dayjs(nowTime).subtract(1, 'month').startOf('month').subtract(-2, 'week').format('YYYY-MM-DD HH:mm:ss');
console.log('上个月第二周周一', preMonthSecondDay);

const thisMonthSecondDay = dayjs(nowTime).startOf('month').subtract(-2, 'week').format('YYYY-MM-DD HH:mm:ss');
console.log('当月第二周周一', thisMonthSecondDay);

const nextMonthSecondDay = dayjs(nowTime).subtract(-1, 'month').startOf('month').subtract(-2, 'week').format('YYYY-MM-DD HH:mm:ss');
console.log('下个月第二周周一', nextMonthSecondDay);

const targetMonthStartTime = dayjs('2021-02').startOf('month').format('YYYY-MM-DD HH:mm:ss');
const targetMonthEndTime = dayjs('2021-02').endOf('month').format('YYYY-MM-DD HH:mm:ss');
console.log('指定月份的开始和结束时间', targetMonthStartTime, targetMonthEndTime);

const monthDiff = dayjs(nowTime).diff('2021-01', 'month', true);
console.log('比较两个时间相差月份', monthDiff);

const nextMonthFirstDay = dayjs(nowTime).add(1, 'month').startOf('month').format('YYYY-MM-DD HH:mm:ss');
console.log('获取下个月第一天', nextMonthFirstDay);

const nextMonthLastDay = dayjs(nowTime).add(1, 'month').endOf('month').format('YYYY-MM-DD HH:mm:ss');
console.log('获取下个月最后一天', nextMonthLastDay);

星期操作

const thisDateWeek = dayjs(nowTime).day();
console.log('获取当前时间是周几 星期', thisDateWeek);

const thisMonthFirstWeekStartTime = dayjs(nowTime).startOf('week').add(1, 'day').format('YYYY-MM-DD HH:mm:ss');
const thisMonthFirstWeekEndTime = dayjs(nowTime).endOf('week').add(1, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('本周开始和结束时间', thisMonthFirstWeekStartTime, thisMonthFirstWeekEndTime);

const thisMonthFirstMonthStartTime = dayjs(nowTime).startOf('month').format('YYYY-MM-DD HH:mm:ss');
const thisMonthFirstMonthEndTime = dayjs(nowTime).endOf('month').format('YYYY-MM-DD HH:mm:ss');
console.log('本月开始和结束时间', thisMonthFirstMonthStartTime, thisMonthFirstMonthEndTime);

// 比较两个时间相差星期
const weekDiff = dayjs(nowTime).diff('2021-01', 'week', true);
console.log('比较相差的星期', weekDiff);

const preeWeek = dayjs(nowTime).subtract(1, 'week').format('YYYY-MM-DD HH:mm:ss');
console.log('一周前的时间', preeWeek);

// 在这里需要加2天 是因为 dayjs的星期天是从0开始
const preeTuesday = dayjs(nowTime).subtract(1, 'week').startOf('week').add(2, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('上周二', preeTuesday);

const thisTuesday = dayjs(nowTime).startOf('week').add(2, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('本周二', thisTuesday);

const nextTuesday = dayjs(nowTime).startOf('week').add(1, 'week').add(2, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('下周二', nextTuesday);

指定天操作

// 比较两个时间相差的天数
const dayDiff = dayjs(nowTime).diff('2021-01', 'day', true);
console.log('比较相差的天数', dayDiff);

const beforeTenDays = dayjs(nowTime).subtract(7, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log('查看七天前的日期', beforeTenDays);

// 时分秒操作

const isBeforeDate = dayjs('2021-02-01').isBefore('2021-01-01');
console.log('是否在指定时间之前', isBeforeDate);

const isAfter = dayjs('2021-02-01').isAfter('2021-01-01');
console.log('是否在指定时间之后', isAfter);

const isSame = dayjs('2021-02-01').isSame('2021-02-01');
console.log('是否相同时间', isSame);

// 时间校验

console.log('校验是否争取的时间格式', dayjs('202112312asdxzsc').isValid());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Day.js 常用用法 的相关文章

随机推荐

  • 分块大法

    所谓分块 就是将原序列处理成各个小块 目的是尽量地达到处理和询问之间的平衡 对于分块类问题 常常可以提取出 在给定区间内进行操作 或询问区间内满足给定条件的元素等 接下来 例题 首先是男神hzwer的博客链接 hzwer 因为下述题目皆由此
  • 基于centos7 mysql主从搭建

    1 在主机上安装好mysql 方便等一会主从搭建在从机上再安装mysql 可以参考以下链接 Centos7安装MySQL详细步骤 在centos7上安装mysql 緑水長流 z的博客 CSDN博客 2 对主机centos7 master 做
  • 数据挖掘分类技术

    1 过分拟合问题 造成原因有 1 噪声造成的过分拟合 因为它拟合了误标记的训练记录 导致了对检验集中记录的误分类 2 根据少量训练记录做出分类决策的模型也容易受过分拟合的影响 由于训练数据缺乏具有代表性的样本 在没有多少训练记录的情况下 学
  • Spine之八——网格和自由变形(FFD)

    Spine 自由变形 FFD 实现乳摇 1 切到装配模式 2 选中图片 3 勾上 Mesh 勾上后就可以编辑网格点了 1 点 Edit Mesh 2 创建网格点 这里是编辑网格点的工具 1 移动 2 增加 3 删除 4 设置网格点 删除所有
  • 【无线点对点网络时延分析和可视化】模拟无线点对点网络中的延迟以及物理层和数据链路层之间的相互作用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本文模拟无线点对点网络 考虑传输延迟 排队
  • CentOS7安装Docker

    Docker Docker 分为 CE 和 EE 两大版本 CE 即社区版 免费 支持周期 7 个月 EE 即企业版 强调安全 付费使用 支持周期 24 个月 Docker CE 分为 stable test 和 nightly 三个更新频
  • 2020这一年,我完成了这几件大事

    2020这一年 我完成了这几件大事 1 感情 拥有了余生的合伙人 2 工作 找到了自己喜欢的方向 一个长处 3 生活 走走停停 4 读书 兴之所至 1 感情 拥有了余生的合伙人 1 3 关键词 殇 4 6 关键词 静 7 9 关键词 安 1
  • MySQL数据库3--多表查询

    多表查询 多表查询顾名思义就是从多张表中一次性的查询出我们想要的数据 我们通过具体的sql给他们演示 先准备环境 DROP TABLE IF EXISTS emp DROP TABLE IF EXISTS dept 创建部门表 CREATE
  • sqlserver中用户的创建,登录。用户与登录名的区别

    文章目录 前言 一 sql如何创建用户 并将用户添加到相应数据库下 二 用户登录失败 解决方案 三 登录名 用户名 角色三者的区别 前言 sql server中用户的管理 利用sql server创建用户 使用创建的用户进行登录 登录名与用
  • 总结的快速排序

    很多时候对快速排序的具体格式记得都不太清楚 在网上搜了一下 加上自己的理解就摆到了这里 先声明一下 头文件至少要包括以下几个 最好都写上 写上不扣分 include
  • 2023年超实用的27个VSCode插件推荐

    Visual Studio Code 或者称作VS Code 是一个广为人知且评价很高的代码编辑器 它有许多特性和扩展功能 以增强开发体验 使用VS Code的主要好处之一是它的灵活性 允许开发人员根据自己的特定需求进行自定义 此外 VS
  • H2介绍 – Java嵌入式数据库

    H2是一个用Java开发的嵌入式数据库 这里指的嵌入式不是手持设备之类的 而是H2数据库作为一个类库 直接嵌入到上层的应用程序中 与应用运行在同一个进程中 最大的优势在于可以同应用程序打包在一起发布 对于客户端应用来说 非常方便 比如说腾讯
  • 计算机中CPU的运行到函数的调用过程

    以下内容是摘抄博客 https www cnblogs com liunlls p cpu html CPU的内部结构 我们都知道CPU是一台电脑的核心部件 所有的程序都是通过它运行的 那么CPU是如何让一个程序跑起来的呢 我们今天就来一起
  • 测多少数据量?几个G?多少reads?如何换算?

    关键词 lncRNA表达量低 所以要看lncRNA的表达量变化 就要比普通RNA seq多测一些 要兼顾SNP和低表达量的lncRNA 要测得更深一些 到底需要测多少数据量呢 我们看看权威的ENCODE对RNA seq的测序深度是如何评价的
  • vue自学笔记(1)

    环境配置 vue官网 编写一个helloworld程序 我使用的是vscode 你可以使用官方网站推荐的hbuilderx 项目结构 导入vue js html中的代码 h1 hello world h1 hr div message di
  • SQLi LABS Less-19

    第19关使用POST请求提交参数 后端对用户名和密码进行了特殊字符转译 难度较大源码如下 但后面插入HTTP Referer时 并没有对参数进行过滤 我们可以从Referer入手 首先 输入正确的账号和密码 只有账号和密码都正确 才能操作R
  • MySQL8数据库原理与应用(微课版)课后笔记-实训7

    最近学习笔记记录 仅供学习参考 在完成课后实训7前所需的建表语句如下 CREATE TABLE bmdmb bmh varchar 10 NOT NULL COMMENT 部门号 bmmc char 50 NOT NULL COMMENT
  • 理解ConvNeXt网络(结合代码)

    目录 1 简介 2 ConvNeXt的设计与实验 2 1 macro design 大的结构上的设计 2 1 1 Changing stage compute ratio 改变每个stage的堆叠次数 2 1 2 Changing stem
  • 简单制作后台系统页面(含菜单)

    第一步 制作数据库表 我个人喜欢在PowerDesigner先建好数据库模型 然后导入到mysql里 导入方式 在PowerDesigner导航栏点开Datebase选择Datebase Generation再选择最后的preview 然后
  • Day.js 常用用法

    我认为克服恐惧最好的办法理应是 面对内心所恐惧的事情 勇往直前地去做 直到成功为止 罗斯福 Day js 时间戳转换 const nowTime dayjs format console log 获取当前时间 nowTime const n