dayjs 中文文档

简介: dayjs 中文文档

API


Dayjs 并没有改变或覆盖 Javascript 原生的 Date.prototype, 而是创造了一个全新的包含 Javascript Date 对象的 Dayjs 的对象。


Dayjs 对象是不可变的, 所有的 API 操作都将返回一个新的 Dayjs 对象。

如果没有特别说明,Day.js 的返回值都是新的 Dayjs 对象。


解析


dayjs() 中传入支持的格式


当前时间


直接运行 dayjs(),得到包含当前时间和日期的 Dayjs 对象。

dayjs() 1


时间字符串


可以解析传入的一个标准的ISO 8601时间字符串。

dayjs(String) dayjs('1995-12-25') 12


Date 对象


可以解析传入的一个 Javascript Date 对象。

dayjs(Date) dayjs(new Date(2018, 8, 18)) 12


Unix 时间戳 (毫秒)


可以解析传入的一个 Unix 时间戳 (13 位数字)。

dayjs(Number) dayjs(1318781876406) 12


Unix 时间戳 (秒)


可以解析传入的一个 Unix 时间戳 (10 位数字)。

dayjs.unix(Number) dayjs.unix(1318781876) 12


自定义时间格式


  • 解析自定义时间格式如 dayjs("12-25-1995", "MM-DD-YYYY") 可以使用插件 CustomParseFormat


复制


Dayjs 对象是不可变的,如果您想获得一个对象的拷贝,请执行 .clone()
dayjs() 里传入一个 Dayjs 对象也能实现同样的效果。

dayjs(Dayjs) dayjs().clone() 12


验证


  • return Boolean

检测当前 Dayjs 对象是否是一个有效的时间。

dayjs().isValid() 1


获取+设置


获取和改变日期。



获取或设置年份。

dayjs().year() dayjs().year(2000) 12



获取或设置月份。从 0 开始

dayjs().month() dayjs().month(0) 12



获取或设置日期。从 1 开始

dayjs().date() dayjs().date(1) 12


星期


获取或设置星期。从星期天 0 开始

dayjs().day() dayjs().day(0) 12



获取或设置小时。

dayjs().hour() dayjs().hour(12) 12



获取或设置分钟。

dayjs().minute() dayjs().minute(59) 12



获取或设置秒。

dayjs().second() dayjs().second(1) 12


毫秒


获取或设置毫秒。

dayjs().millisecond() dayjs().millisecond(1) 12


获取


获取从 Dayjs 对象中取到的信息
传入的单位 (unit) 对大小写不敏感。

dayjs().get(unit : String) dayjs().get('month') // 从 0 开始 dayjs().get('day') 123


可用单位

单位

缩写

描述

date

日期

day

d

星期几 (星期天 0, 星期六 6)

month

M

月 (一月 0, 十二月 11)

year

y

hour

h

minute

m

second

s

millisecond

ms

毫秒


设置


设置时间

dayjs().set(unit : String, value : Int); dayjs().set('date', 1); dayjs().set('month', 3); // 四月 dayjs().set('second', 30); 1234


操作


您可以对 Dayjs 对象如下增加减少之类的操作:

dayjs()   .startOf('month')   .add(1, 'day')   .subtract(1, 'year') 1234


增加


增加时间并返回一个新的 Dayjs() 对象。

dayjs().add(value : Number, unit : String); dayjs().add(7, 'day'); 12


减少


减少时间并返回一个新的 Dayjs() 对象。

dayjs().subtract(value : Number, unit : String); dayjs().subtract(7, 'year'); 12


开头时间


返回当前时间的开头时间的 Dayjs() 对象,如月份的第一天。

dayjs().startOf(unit : String); dayjs().startOf('week'); // 取决于 locale 文件里 `weekStart` 的值 12


末尾时间


返回当前时间的末尾时间的 Dayjs() 对象,如月份的最后一天。

dayjs().endOf(unit : String); dayjs().endOf('month'); 12


显示


格式化 Dayjs 对象并展示。


格式化


  • return String

接收一系列的时间日期字符串并替换成相应的值。

dayjs().format(String) dayjs('2019-01-25').format('[YYYY] YYYY-MM-DDTHH:mm:ssZ[Z]') // 'YYYY 2019-01-25T00:00:00-02:00Z' dayjs().format('{YYYY} MM-DDTHH:mm:ssZ[Z]') // "{2014} 09-08T08:02:17-05:00Z" 123


详情如下:

格式

输出

描述

YY

18

两位数的年份

YYYY

2018

四位数的年份

M

1-12

月份,从 1 开始

MM

01-12

月份,两位数

MMM

Jan-Dec

简写的月份名称

MMMM

January-December

完整的月份名称

D

1-31

月份里的一天

DD

01-31

月份里的一天,两位数

d

0-6

一周中的一天,星期天是 0

dd

Su-Sa

最简写的一周中一天的名称

ddd

Sun-Sat

简写的一周中一天的名称

dddd

Sunday-Saturday

一周中一天的名称

H

0-23

小时

HH

00-23

小时,两位数

h

1-12

小时, 12 小时制

hh

01-12

Hours, 12 小时制, 两位数

m

0-59

分钟

mm

00-59

分钟,两位数

s

0-59

ss

00-59

秒 两位数

SSS

000-999

毫秒 三位数

Z

+5:00

UTC 的偏移量

ZZ

+0500

UTC 的偏移量,数字前面加上 0

A

AM PM

a

am pm

  • 更多格式化的选项 Q Do k kk X x ... 可以使用插件 AdvancedFormat
  • 本地化的长日期格式 L LT LTS ... 可以使用插件 LocalizedFormat


时间差


  • return Number

获取两个 Dayjs 对象的时间差,默认毫秒。

const date1 = dayjs('2019-01-25') const date2 = dayjs('2018-06-05') date1.diff(date2) // 20214000000 date1.diff(date2, 'month') // 7 date1.diff(date2, 'month', true) // 7.645161290322581 date1.diff(date2, 'day') // 233 123456


Unix 时间戳 (毫秒)


  • return Number

返回 Unix 时间戳 (毫秒)

dayjs().valueOf() 1


Unix 时间戳 (秒)


  • return Number

返回 Unix 时间戳 (秒)。

dayjs().unix() 1


UTC 偏移量 (分)


返回 UTC 偏移量 (分)

dayjs().utcOffset() 1


天数 (月)


  • return Number

返回月份的天数。

dayjs().daysInMonth() 1


Date 对象


  • return Javascript Date object

返回原生的 Date 对象。

dayjs().toDate() 1


As JSON


  • return JSON String

当序列化 Dayjs 对象时,会返回 ISO8601 格式的字符串。

dayjs().toJSON() //"2018-08-08T00:00:00.000Z" 1


ISO 8601 字符串


  • return String

返回 ISO8601 格式的字符串。

dayjs().toISOString() 1


字符串


  • return String

dayjs().toString() 1


查询


是否之前


  • return Boolean

检查一个 Dayjs 对象是否在另一个 Dayjs 对象时间之前。

dayjs().isBefore(Dayjs, unit? : String); dayjs().isBefore(dayjs()); // false dayjs().isBefore(dayjs(), 'year'); // false 123


是否相同


  • return Boolean

检查一个 Dayjs 对象是否和另一个 Dayjs 对象时间相同。

dayjs().isSame(Dayjs, unit? : String); dayjs().isSame(dayjs()); // true dayjs().isSame(dayjs(), 'year'); // true 123


是否之后


  • return Boolean

检查一个 Dayjs 对象是否在另一个 Dayjs 对象时间之后。

dayjs().isAfter(Dayjs, unit? : String); dayjs().isAfter(dayjs()); // false dayjs().isAfter(dayjs(), 'year'); // false 123


是否是 Dayjs .isDayjs(compared: any)


返回一个 boolean 验证传入值是否是一个 Dayjs 对象.

dayjs.isDayjs(dayjs()) // true dayjs.isDayjs(new Date()) // false 12

也可以使用 instanceof

dayjs() instanceof dayjs // true 1


UTC


如果想要使用 UTC 模式来解析和展示时间,.utc.local.isUTC 可以使用插件 UTC


插件 APIs


相对时间


.from.to.fromNow.toNow 获得相对时间

插件 RelativeTime


是否是闰年


.isLeapYear 获得是否闰年

插件 IsLeapYear


年中的第几周


.week 获取是第几个周

插件 WeekOfYear


星期


.weekday 来获取或设置当前语言的星期

plugin WeekDay


年中有几周 ISO


.isoWeeksInYear 获得年中有几周

plugin IsoWeeksInYear


是否相同或之后


.isSameOrAfter 返回一个时间和一个时间相同或在一个时间之后

插件 IsSameOrAfter


是否相同或之前


.isSameOrBefore 返回一个时间是否和一个时间相同或在一个时间之前

插件 IsSameOrBefore


是否之间


.isBetween 返回一个时间是否介于两个时间之间

插件 IsBetween


年中第几季度


.quarter 返回年中第几季度

插件 QuarterOfYear


转成数组


.toArray 返回包含时间数值的数组。

插件 ToArray


转成对象


.toObject 返回包含时间数值的对象

插件 ToObject


最小最大


.min.max 比较传入的 dayjs 实例的大小

plugin MinMax


日历时间


.calendar 来显示日历时间

plugin Calendar

相关文章
|
JavaScript
js中数组reduce的使用原来这么简单
js中数组reduce的使用原来这么简单
深入掌握ant-design的form异步校验(一)
本文适合对ant-design的表单校验感兴趣的小伙伴阅读~
|
8月前
|
前端开发 开发者
响应式布局新利器:CSS Grid 的 `grid-template-areas` 实战
响应式布局新利器:CSS Grid 的 `grid-template-areas` 实战
|
19天前
|
人工智能 自然语言处理 数据可视化
GitHub标星破万!程序员福音,82.5%准确率!这个开源项目重新定义了Text2SQL
DB-GPT 是开源AI原生数据应用框架,GitHub星标破万!支持自然语言查数据库(Text2SQL准确率82.5%)、RAG知识库、生成式BI、多智能体协作等,零代码实现数据对话、分析与可视化,赋能业务人员与开发者。
153 1
|
9月前
|
人工智能 移动开发 JavaScript
AI + 低代码技术揭秘(六):包结构和 Monorepo
VTJ低代码平台采用monorepo结构,基于PNPM和Lerna进行包管理,实现跨包版本同步与依赖管理。核心包如@vtj/base、@vtj/utils和@vtj/core提供基础类型、工具函数及数据模型。运行时包负责DSL解析、渲染和代码生成,设计器支持可视化开发,本地服务实现文件管理和项目构建。平台通过统一构建系统支持Web、UniApp等多端部署。
389 0
|
12月前
|
前端开发 JavaScript 数据格式
通过array.reduce()实现数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式、聚合统计、处理树结构数据和性能优化,reduce()的使用详解(附实际应用代码)
array.reduce()可以用来数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式、聚合统计、处理树结构数据、性能优化等,使用难度相对高一些,但是能大大减少代码量。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时
|
前端开发 UED 开发者
精通 CSS 阴影效果:从基础到高级应用
本文详细介绍了CSS阴影效果的使用方法,包括`box-shadow`和`text-shadow`的基本语法、参数解释及进阶应用。通过多个示例展示了如何实现外阴影、内阴影、渐变阴影以及多重阴影效果,并结合实际场景如浮动按钮和卡片式设计,说明了阴影与背景的综合应用。此外,还提供了性能优化建议,帮助开发者在确保视觉效果的同时提升页面性能。最后,总结了CSS阴影的重要性及其对网页美观度和用户体验的提升作用。
1358 6
|
JavaScript
Vue3基础(22)___vue3中使用$forceUpdate
本文介绍了在Vue 3中如何使用`$forceUpdate`来强制更新组件,通过`getCurrentInstance`方法获取到组件实例后调用。
1448 0

热门文章

最新文章