Day.js使用小记

【HarmonyOS】时间处理Dayjs 在项目中经常会使用要时间的格式转换,比如数据库返回一个Date数据,你需要转成2024-10-2的格式,鸿蒙的原生SDK中是没有办法实现的,因此,在这里介绍第三方封装好并且成熟使用的库Dayjs。上面三种提供时间查询的方法可以将时间单位作为第二个参数传入,可以实现除毫秒以外的单位进行比较。使用subtract方法,传入数值和时间单位,可以实现时间的减少,再通过todate方法来实现date的更新。使用add方法,传入数值和时间单位,可以实现时间的增加。可以在使用占位符加自定义的字眼来实现自己要的特定效果。 阅读详情
  1. 什么是Day.js?

    Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果你曾经用过 Moment.js, 那么您已经知道如何使用 Day.js

    从API上来看,Moment.js和Day.js的常用API基本一致,Moment.js里面包含的API较全,但常用API如果基本可以满足我们的开发需要,Day.js如需要其他API,可安装插件来实现。

    从体积大小来看,Moment.js的体积大概200多KB,Day.js的体积只有20KB。

    选择哪一个,可以根据实际情况来,我需要的只有常用的API,而且体积不能过大,所以选择了Day.js ,接下来我们可以看下常用时间处理操作。

    Day.js官方地址

  2. 怎么使用?

    • 格式化占位符

      占位符输出详情
      YY20两位数的年份
      YYYY2020四位数的年份
      M1-12月数,从1开始
      MM01-12月数,两位数
      MMMMJan-Dec缩写的月份名称
      MMMMJanuary-December完整的月份名称
      D1-31月份里的一天
      DD01-31月份里的一天,两位数
      d0-6一周中的一天
      ddSu-Sa最简写的星期几
      dddSun-Sat简写的星期几
      ddddSunday-Saturday星期几
      H0-23小时,24小时制
      HH00-23小时,24小时制,两位数
      h1-12小时,12小时制
      hh01-12小时,12小时制,两位数
      m0-59分钟
      mm00-59分钟,两位数
      s0-59秒
      ss00-59秒,两位数
      SSS000-999毫秒,三位数
      Z+05:00UTC 的偏移量,±HH:mm
      ZZ+0500UTC 的偏移量,±HHmm
      AAM PM上午/下午,大写
      aam pm上午/下午,小写

      本地格式化

      占位符英语语音示例输出
      LTh:mm A8:02 PM
      LTSh:mm:ss A8:02:18 PM
      LMM/DD/YYYY08/16/2018

      常用时间格式化示例:

      首先需要在项目中引入Day.js

      npm install dayjs --save
      
      dayjs('2018-08-08').format('YYYY-MM-DD HH:mm')
      dayjs('2018-08-08').format('A LT')
      dayjs('2018-08-08').format('MM-DD HH:mm')
      dayjs('2018-08-08').format('YYYY-MM-DD HH:mm:ss')
      
      //GMT时间转换可能会出现14小时的误差,需要消除误差
      dayjs('Wed Jul 01 11:14:19 CST 2020').subtract(14, 'hour').format('YYYY-MM-DD HH:mm')
      
    • 查询方法

      isBefore 是否在另一个提供的日期时间之前

      isSame 否和另一个提供的日期时间相同

      isAfter 是否在另一个提供的日期时间之后

      示例:

      dayjs(new Date).isAfter(dayjs('2018-08-08'))
      
    • 操作

      add 增加一定时间

      subtract 减少一定时间

      支持的单位格式如下:

      单位缩写详情
      dayd天
      weekw周
      monthM月
      quarterQ季度
      yeary年
      hourh小时
      minutem分
      seconds秒
      millisecondms毫秒

      使用示例:

      ayjs().add(7, 'day')
      
提升日期处理效率:day.js 实战经验分享 theme: smartblue 本文简介 点赞 + 关注 + 收藏 = 学会了 本文主要介绍我在工作中使用 day.js 较多的方法。 本文并不能代替 day.js 官方文档,日常工作中该查文档的还是要查文档。 本文是写给刚接触 day.js 的工友,让这部分工友能更顺利上手 day.js。 本文不涉及 day.js 插件(王国之泪通关后再写这部分吧)。 day.js 简介 d... 阅读详情

相关推荐

先进半导体材料与器件Chapter3

Chapter3 异质结双极晶体管(HBT) 作者:毛茏玮 / Saint 掘金:https://juejin.im/user/5aa1f89b6fb9a028bb18966a 微博:https://weibo.com/5458277467/profile?topnav=1&wvr=6&is_all=1 GitHub:github.com/saint-000 知乎:https:/...

一个会写代码的烤鸭 5802

dayjs常用用法

日期格式化 DayJs(date).formate("YYYY-MM-DD HH:mm:ss") HH:24小时制 hh:12小时制 日期运算 DayJs(date).add(num, 'day') DayJs(date).subtract(num, 'day') 添加插件 import DayJs from "dayjs"; import WeekDay from "dayjs/plugin/w...

码码砖 3033

10X Genomics数据实战:手把手教你用Seurat处理单细胞PBMC数据(附完整代码)

本文详细介绍了如何使用Seurat处理10X Genomics的单细胞PBMC数据,从数据获取、质控到降维分析和细胞分群的全流程。通过实战代码演示,帮助研究者掌握单细胞RNA测序数据分析的核心技术,提升对细胞异质性的理解。

weixin_29053577的博客 252

使用day.js实时显示时间 【Vue】

1.安装day.js npm install -S dayjs 2.组件局部引入 import dayjs from 'dayjs' 若需要在全局引入,可自行在main.js中导入,并挂在至vue原型上 // 导入day.js import dayjs from 'dayjs' Vue.prototype.$dayjs = dayjs 3.项目中使用 <template> <span id="time">当前时间:{{ nowTime }}</span&g

qq_22841387的博客 1728

机器人关节电机发热难题:从工程化角度拆解热管理解决方案(下)

摘要:本文系统分析了机器人关节电机与驱动系统的热管理方案,重点解决局部热点问题。针对不同功率场景提出了热管/均热板散热(适用于中小功率)和液冷散热(适用于高功率)的具体实施方案,详细比较了结构参数、材料选择、安装工艺和散热效果。特别强调了电机-驱动协同热管理的重要性,提出"工况联动+热路径共享"的核心理念,包括一体化散热结构设计和动态控制策略。最后介绍了热仿真与测试验证方法,确保方案的有效落地。通过系统级热管理,可显著降低温升(热点区域降温30-60℃),同时优化体积和能耗。

bother3000的博客 3328

使用基于python的neurora进行表征相似性分析(RSA)

发现了一款用于表征分析的Python API,还是挺方便的,这里简单介绍一下进行表征相似性分析的使用方法。

zjh12312311的博客 2764

Js获取当前系统时间,24小时制

Js获取当前系统时间 var myDate = new Date(); myDate.getYear();//获取当前年份(2位) myDate.getFullYear();//获取完整的年份(4位,1970-????) myDate.getMonth();//获取当前月份(0-11,0代表1月) myDate.getDate();//获取当...

小贝de 5990

HALCON卡尺模型实战:5分钟搞定工件尺寸测量(附完整代码)

本文详细介绍了HALCON卡尺模型在工件尺寸测量中的实战应用,通过5分钟快速搭建测量系统的完整指南,包括基础配置、高级参数调优和完整代码示例。卡尺模型能自动识别边缘并计算精确尺寸,显著提升工业视觉检测的效率和一致性,特别适用于实时测量场景。

weixin_42570296的博客 462

js 小记

目录 1、数组的push()、pop()、shift()和unshift() 2、Object.assign()方法 3、concat() 方法 4、.map 5、JS中let和var 的区别 6、parseFloat((NumberObject).toFixed(2)) 1、数组的push()、pop()、shift()和unshift() 栈和队列都是动态的集合,栈实现了后进...

hebbely的博客 261

计算机视觉与深度学习 | 2024年至2025年图像匹配算法总结(原理,公式,代码,开源链接)

以上总结覆盖了当前主流和前沿技术,实际选择需结合具体场景(速度/精度/资源限制)评估。

尘世冰封的专栏 1586

Python爬虫教程:微博热点话题抓取与社交媒体分析

微博是中国最大的社交媒体平台之一,拥有海量的用户和丰富的讨论话题。通过爬取微博的热门话题和讨论内容,我们可以深入分析用户的兴趣、舆论走势、社会情绪等。通过爬取微博的热点话题和讨论内容,我们可以获得关于当前热门话题的宝贵数据,并基于这些数据进行多种社交媒体分析。本文将通过Python爬虫技术,详细介绍如何抓取微博上的热门话题、话题讨论内容,并进行社交媒体分析。希望本文为你提供了一个全面的微博数据抓取与分析的指南,帮助你在社交媒体数据分析的道路上迈出坚实的第一步。微博上的一些页面内容是静态的,可以直接通过。

2201_76125261的博客 589

JavaScript学习小记

可以将函数作为参数传递给其他函数,用于在异步操作完成后执行。数组用于存储多个值,可以使用索引访问和修改数组元素。对象用于存储键值对,可以通过键访问和修改对应的值。可以通过键访问和修改对应的值。:先执行代码块,然后在指定条件为真时重复执行。来表示数组,可以通过索引访问和修改数组元素。来表示对象,可以通过键访问和修改对应的值。:如果条件为真,则执行特定的代码块。:在指定条件为真时重复执行代码块。:根据不同的值执行不同的代码块。:在指定的条件下重复执行代码块。:可以将函数赋值给变量。:用于表示真或假的值。

weixin_50564363的博客 226

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Js和EasyUi随笔小记

1.JavaScript 中的shfit()方法用于将数组的第一个元素删除并且返回第一个元素的值,要删除数组中的最后一个元素用pop()方法。 2.easyui或者jquery设置日期控件默认选择日期: 3.日期格式精确到毫秒格式:yyyy-MM-dd HH:mm:ss SSS 4.3.Arrays类的asList() 将字符串数组转换成List集合 方法的使用     eg: Strin

alex宋 418

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

小记Day4

Day 2 @Slf4j注解:实现日志输出 日志:日志的作用,主要在维护的时候非常有用,系统可能会出一些其名其秒的错误,这个时候如果日志做的比较详细就能很清楚的查找到错误了。 $ {ctx}:${pageContext.request.contextPath}的简写版。使用 $ {cxt}需要配置 <c:set var="ctx" value="${pageContext.request....

weixin_44534915的博客 157

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

JS小记

JS小记 1、setDate与getDate getDate()可返回月份中的某一天, setDate(day)设置一个月的某一天, 以上两个方法总是结合一个 Date 对象来使用

weixin_44274047的博客 143

小记Day15

亩产设置:1.根据用户自身是否具有品牌办id来确认是否有权限对亩产进行修改。2.判断具有品牌办id的用户是否具有对应可以修改亩产数量的品牌办表。3.如果有则进行更新操作。 注意点:更新操作时无需返回值,可使用void;具有品牌办id的用户不一定有品牌办这张表,没有这张表的不能进行修改操作;更新时要先把前台填写的值先赋值到表中再更新 [ brandOffice.setYield(brandOffic...

weixin_44534915的博客 146

课堂小记---JavaScript(1)

day01 1、数据类型 number string boolean undefined object function   加号具有两种功能,数字相加 和 字符串拼接。加号两边只要碰见字符串,则执行字符串拼接。   number(),parseInt(),parseFloat方法都可以将字符串转换成数字类型 2、“=”,一个等号表示赋值,“==”两个等号表示等于(此时不考虑...

weixin_30955341的博客 207

JS,JQuery日期时间处理方法小记

JS,JQuery获得前一天0点,上周一0点,指定月份1号的时间戳 JS时间格式转换方法

qq_763034592的博客 878

随手小记之小院子美化

页面-主框架 #home { margin: 0 auto; width: 65%;/*原始65*/ min-width: 600px;/*页面顶部的宽度*/ background-color: rgba(245, 245, 245, 0.7); padding: 30px; margin-top: 60px; ...

weixin_30469895的博客 301

课堂小记---JavaScript(4)

day11 1、正则表达式   去掉首尾的空格或者其他字符    replace方法可传入函数可分组。    以下为分组    基础正则表达式语法: 1    /** 2 * 正则表达式是一个对象类型 3 */ 4 5 // 匹配字符串中的che 6 var reg = ...

weixin_30881367的博客 116

倒计时小记

没事干,弄个简单的倒计时,这是在weex项目下写的小demo <template> <div class="wrapper"> <text style="font-size:40px;font-weight:bold;">倒计时 :{{time.day}}天 :{{time.h}}时 :{{time.m}}分 :{{time.s}}秒</text...

ZXH2017的博客 309

SegmentFault D-Day 2016 年度总结报告

2014 年夏天,我们尝试第一场技术沙龙,并取名为 D-Day(Developer Day)。从第一场 D-Day 开始至今,SegmentFault 为各地开发者带来 38 场 D-Day 技术沙龙,上百个精选议题。这三年来,我们在技术传播的道路上从未放慢步伐,在技术分享的质量上也从未放低要求,因此 SegmentFault D-Da...

weixin_34258782的博客 205

node基础知识部分小记

Day01 1.严格模式 1)变量必须写var 2)this不能指向window 3)eval有独立的作用域 使用目的:为了后面ES6做铺垫 2.json对象 1)Unexpected token ’ in JSON at position 1 json.parse()参数里的json数据,格式不对 2)JSON.parse() json字符串转js对象/数组 3)JSON.stringify() js对象/数组转json字符串 4)JSON字符串 和JS对象的区别: json字符串数据里,key必须双引

qq_41662017的博客 1054

小记__Node和ES6中暴露成员和引入成员

//test.js export default { name: 'zs', age: 20 } 备注:使用export default 向外暴露成员,可以使用任意的变量来接受如main.js可以随便起个m1就可以了 var info = { name: 'zs', age: 20 } export default info //exportdefault { //ad...

weixin_41850999的博客 620
上一篇: vant-ui uploader上传文件,修改文件名
下一篇: 快速复制浏览器控制台的返回参或者打印信息
codezha
博客等级 码龄10年 28粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值