在项目过程中遇到了要操作时间的需求,以前不是很了解,在这里做一个记录。

首先是ISO 8601,这是一个国际标准化组织的国际标准ISO 8601是日期和时间的表示方法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》。

怎样得到一个ISO 8601格式的时间戳呢?获得一个普通的时间,再对其调用.toISOString()方法就OK啦。

获取ISO8601时间

我们主要关心ISO8601中的日期和时间的组合表示法,以上图的"2020-09-07T02:23:29.002Z"为例,它中间以"T"分隔开,前面的 "2020-09-07" 代表的是2020年9月7日,后面的 "02:23:29.002Z" 表示2点23分29秒," Z "的含义是零时区。

如要表示北京时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00或20040503T173008+08(北京时间是东八区)。


了解了一下ISO 8601,我们再了解一下有关时间的库: dayjs。下面是它的github地址:

https://github.com/iamkun/dayjs/blob/HEAD/docs/zh-cn/README.zh-CN.md​github.com

Day.js 是一个轻量的处理时间和日期的 JavaScript 库,简便又好用,首先我们要进行安装:

npm install dayjs --save
//或者
yarn add dayjs --save

下面罗列一些我在项目过程中使用到的api:

var now = dayjs()  // 获取当前时间

dayjs().isSame(dayjs('2011-01-01')) // 当前时间是否和另一个提供的时间(2011-01-01)相同

如果想使用除了毫秒以外的单位进行比较,可以将单位作为第二个参数传入。

dayjs().isSame('2011-01-01', 'year') // 当前时间是否和另一个提供的时间(2011-01-01)是同一年

dayjs().subtract() // 减去操作,可传两个参数,第一个参数是减去的个数,第二个参数是减去的单位
dayjs().subtract(1, 'day')  // 当前时间减去 1 天

dayjs().format() // 格式化
dayjs('2019-01-25').format('DD/MM/YYYY') // 输出'25/01/2019'
具体使用情况参照下表

部分支持的格式化占位符列表

iso8601时间格式_ISO8601与dayjs的使用相关推荐

  1. php实现ISO8601时间格式(带T和Z)和常规日期时间格式(东八区UTC+8)的相互转换

    ISO8601时间格式转年月日时分秒格式 要将"2023-04-06T01:44:43.000Z"这个字符串转换为年月日时分秒的格式,你可以使用PHP的DateTime类和form ...

  2. ISO8601时间格式的转换

    java中ISO8601标准时间格式的转换 最近对接第三方平台接口,返回的日期是ISO8601标准时间(yyyy-MM-dd'T'HH:mm:ssZZ),例: "startTime" ...

  3. ISO8601时间格式在bpmn定时器中的应用

    参考文章:https://www.cnblogs.com/xdao/p/iso8601.html 三种使用方式,如下: timeDate:特定时间(例:2021-11-19T16:00:00) tim ...

  4. ISO8601时间格式

    格式解析 R2/2015-06-04T19:25:16.828696-07:00/P1DT10S 上面的字符串通过"/"分为了三部分即: 重复次数/开始时间/运行间隔 重复次数 R ...

  5. Java如何获取ISO8601时间格式

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");df.setTimeZone(TimeZo ...

  6. ISO-8601及GMT时间格式

    1.ISO-8601时间格式:1 public static final String ISO_8601 = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"; 202 ...

  7. iso 8601 php,UTC 和ISO 8601时间格式的一些疑问

    严格的来说,这个标题可能不太正确,因为我首先度娘了一下,ISO8601时间格式标准应该类似于:2016-01-18T23:41:00-08:00,而UTC时间格式差不多类似 在做一个项目用到一个国外的 ...

  8. Vue中导入DayJs(时间戳转时间格式)

    1.Npm安装Dayjs npm install dayjs --save 2.Dayjs写入到Vue原型中 import dayjs from 'dayjs'; Vue.prototype.$day ...

  9. java的Duration的时间格式解析,ISO-8601持续时间格式

    一.前言 在配置springboot的配置的时候突然看到时间是Duration来配置的,上源码看到这样一个方法 /*** Obtains a {@code Duration} from a text ...

最新文章

  1. 如何下载flash离线安装包
  2. 利用人工智能进行网页设计的10种方法
  3. add_table和 add_column
  4. 【测试】ABAP发送HTML格式邮件FM
  5. socket编程之中的一个:计算机网络基础
  6. TDEngine数据包的详细说明
  7. ORACLE EXPDP命令使用详细【转】
  8. CSS伪类的三种写法
  9. SQL SERVER 数据库主键和外键的思考
  10. 怎么把分开的pdf放在一起_糖和盐混在一起了要怎么分开?| 趣问万物
  11. 前端学习(2022)vue之电商管理系统电商系统之创建order分支
  12. 验证软件需求正确性的四个角度
  13. .pyc文件还原.py文件_Python文件.py转换为.exe可执行程序,制作.exe文件图标
  14. 给老外索要仿真代码信件
  15. edius隐藏快捷键_Eduis快捷键,大家参考一下!【EDIUS】史上最全的EDIUS快捷键资料分享!...
  16. 蜂鸟处理器+OV5640摄像头模块开发
  17. excel保存快捷键_实例演示:Excel表格数据很少但文件很大,教你如何瘦身缩小...
  18. 64位Win7 服务器运行失败
  19. 【Pytorch实战4】基于CIFAR10数据集训练一个分类器
  20. 南充计算机职业学校有哪些专业,南充旅游计算机职业中专学校2020年招生简介...

热门文章

  1. GPUImageMovieWriter实现暂停录制,重新录制
  2. 开源 java CMS - FreeCMS2.6 模型管理
  3. 53. Maximum Subarray
  4. linux shell ls 列出文件绝对路径
  5. mysql数据库 一条语句实现记录存在则更新,不存在则插入
  6. linux c 编译警告 warning: this decimal constant is unsigned only in ISO C90
  7. linux 内核 数据结构 file_operations、file、inode
  8. Android中的ListView实现图片文字和按钮
  9. Virtio:针对 Linux 的 I/O 虚拟化框架
  10. php fatal class ziparchive not found,php中Fatal error: Class ZipArchive not found的解决办法