更新记录

0.1.6(2025-08-31) 下载此版本

  • chore: 更新文档

0.1.5(2025-06-01) 下载此版本

  • feat: 支持传入纯数字的日期

0.1.4(2025-05-22) 下载此版本

  • fix: 修复uniapp x 缺少类型问题
查看更多

平台兼容性

uni-app(4.72)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- 5.0
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟

uni-app x(4.74)

Chrome Safari Android iOS 鸿蒙 微信小程序
5.0

lime-dayuts 日期库

一个轻量的处理时间和日期的 UTS 库,几乎和 dayjs 保持一样的 API。lime-dayuts 提供了丰富的日期操作功能,包括日期解析、格式化、比较、操作和查询等,可用于各种需要处理日期和时间的应用场景。

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场中搜索并导入lime-dayuts
  2. 导入后可能需要重新编译项目

代码演示

基础用法

最简单的日期库用法,直接导入并使用。

import {dayuts} from '@/uni_modules/lime-dayuts';
dayuts().format() // 2024-03-25T02:10:16+08:00

解析日期

dayuts 接受多种类型的输入,包括字符串、数字、Date 对象等。

// 当前时间
dayuts()

// 字符串
dayuts('2024-03-04T16:00:00.000Z')
dayuts('2024-03-13 19:18:17.040+02:00')
dayuts('2024-03-13 19:18')
dayuts('1748750498228')

// 字符串+格式
dayuts('1970-00-00', 'YYYY-MM-DD')

// Unix 时间戳 (毫秒)
dayuts(1318781876406)

// Date 对象
dayuts(new Date(2018, 8, 18))

// 数组
dayuts([2010, 1, 14, 15, 25, 50, 125])

取值/赋值

在设计上 Dayuts 的 getter 和 setter 使用了相同的 API,不传参数调用方法即为 getter,调用并传入参数为 setter。

// 获取或设置毫秒
dayuts().millisecond() // 获取当前毫秒
dayuts().millisecond(1) // 返回新的 dayuts 对象

// 获取或设置秒
dayuts().second() // 获取当前秒
dayuts().second(1) // 返回新的 dayuts 对象

// 获取或设置分钟
dayuts().minute() // 获取当前分钟
dayuts().minute(1) // 返回新的 dayuts 对象

// 获取或设置小时
dayuts().hour() // 获取当前小时
dayuts().hour(12) // 返回新的 dayuts 对象

// 获取或设置日期
dayuts().date() // 获取当前日期
dayuts().date(12) // 返回新的 dayuts 对象

// 获取或设置月份
dayuts().month() // 获取当前月份
dayuts().month(0) // 返回新的 dayuts 对象

// 获取或设置年份
dayuts().year() // 获取当前年份
dayuts().year(2000) // 返回新的 dayuts 对象

日期操作

// 增加时间
dayuts().add(7, 'day')

// 减去时间
dayuts().subtract(7, 'year')

// 设置到一个时间的开始
dayuts().startOf('year')

// 设置到一个时间的末尾
dayuts().endOf('month')

日期格式化

// 默认格式化
dayuts().format() // 默认返回的是 ISO8601 格式字符串 '2024-03-28T01:33:29+08:00'

// 自定义格式化
dayuts('2019-01-25').format('DD/MM/YYYY') // '25/01/2019'

日期比较

// 是否在前
dayuts().isBefore(dayuts('2011-01-01')) // false

// 是否在后
dayuts().isAfter(dayuts('2011-01-01')) // true

// 是否相同
dayuts().isSame('2011-01-01', 'year') // false

// 是否相同或在前
dayuts().isSameOrBefore('2011-01-01', 'month') // false

// 是否相同或在后
dayuts().isSameOrAfter('2011-01-01', 'month') // true

// 是否在区间内
dayuts('2010-10-20').isBetween('2010-10-19', dayuts('2010-10-25')) // true

API文档

解析

方法 说明 参数 返回值
dayuts() 创建当前时间的 Dayuts 对象 - Dayuts 对象
dayuts(string) 从字符串创建 Dayuts 对象 日期字符串 Dayuts 对象
dayuts(string, format) 从指定格式的字符串创建 Dayuts 对象 日期字符串, 格式字符串 Dayuts 对象
dayuts(number) 从时间戳创建 Dayuts 对象 时间戳(毫秒) Dayuts 对象
dayuts(Date) 从 Date 对象创建 Dayuts 对象 Date 对象 Dayuts 对象
dayuts(array) 从数组创建 Dayuts 对象 [年,月,日,时,分,秒,毫秒] Dayuts 对象

取值/赋值

方法 说明 参数 返回值
millisecond() 获取毫秒 - 0-999
millisecond(value) 设置毫秒 0-999 Dayuts 对象
second() 获取秒 - 0-59
second(value) 设置秒 0-59 Dayuts 对象
minute() 获取分钟 - 0-59
minute(value) 设置分钟 0-59 Dayuts 对象
hour() 获取小时 - 0-23
hour(value) 设置小时 0-23 Dayuts 对象
date() 获取日期 - 1-31
date(value) 设置日期 1-31 Dayuts 对象
day() 获取星期 - 0-6
day(value) 设置星期 0-6 Dayuts 对象
month() 获取月份 - 0-11
month(value) 设置月份 0-11 Dayuts 对象
year() 获取年份 - 年份数字
year(value) 设置年份 年份数字 Dayuts 对象
get(unit) 获取指定单位的值 时间单位 数值
set(unit, value) 设置指定单位的值 时间单位, 值 Dayuts 对象

操作

方法 说明 参数 返回值
add(value, unit) 增加时间 数值, 单位 Dayuts 对象
subtract(value, unit) 减少时间 数值, 单位 Dayuts 对象
startOf(unit) 设置为时间单位的开始 单位 Dayuts 对象
endOf(unit) 设置为时间单位的结束 单位 Dayuts 对象

显示

方法 说明 参数 返回值
format(template) 格式化日期 格式模板 字符串
fromNow(withoutSuffix) 相对当前时间(前) 是否不带后缀 字符串
from(compared, withoutSuffix) 相对指定时间(前) 比较时间, 是否不带后缀 字符串
toNow(withoutSuffix) 相对当前时间(后) 是否不带后缀 字符串
to(compared, withoutSuffix) 相对指定时间(后) 比较时间, 是否不带后缀 字符串
diff(compared, unit, float) 计算时间差 比较时间, 单位, 是否返回浮点数 数值
valueOf() 获取时间戳(毫秒) - 数值
unix() 获取时间戳(秒) - 数值
daysInMonth() 获取月份的天数 - 数值
toDate() 转换为 Date 对象 - Date 对象
toArray() 转换为数组 - 数组
toJSON() 转换为 JSON 字符串 - 字符串
toObject() 转换为对象 - 对象
toString() 转换为字符串 - 字符串

查询

方法 说明 参数 返回值
isBefore(compared, unit) 是否在指定时间之前 比较时间, 单位 布尔值
isAfter(compared, unit) 是否在指定时间之后 比较时间, 单位 布尔值
isSame(compared, unit) 是否与指定时间相同 比较时间, 单位 布尔值
isSameOrBefore(compared, unit) 是否与指定时间相同或之前 比较时间, 单位 布尔值
isSameOrAfter(compared, unit) 是否与指定时间相同或之后 比较时间, 单位 布尔值
isBetween(from, to, unit, inclusivity) 是否在指定时间区间内 开始时间, 结束时间, 单位, 包含性 布尔值
isLeapYear() 是否为闰年 - 布尔值
isToday() 是否为今天 - 布尔值

国际化

方法 说明 参数 返回值
locale(localeName) 设置或获取语言 语言名称 Dayuts 对象或语言名称
dayutsIntl.locale 全局设置语言 语言名称 -

格式化占位符

占位符 输出 描述
YY 01 两位数的年份
YYYY 2001 四位数的年份
M 1-12 月份,从1开始计数
MM 01-12 月份,两位数
MMM Jan-Dec 缩写的月份名称
MMMM January-December 完整的月份名称
D 1-31 一个月的某一天
DD 01-31 一个月的某一天,两位数
H 0-23 小时数
HH 00-23 小时数,两位数
h 1-12 12小时制的小时数
hh 01-12 12小时制的小时数,两位数
m 0-59 分钟数
mm 00-59 分钟数,两位数
s 0-59 秒数
ss 00-59 秒数,两位数
S 0-9 百毫秒数,一位数
SS 00-99 十毫秒数,两位数
SSS 000-999 毫秒数,三位数
Z -05:00 相对于UTC的偏移量
ZZ -0500 相对UTC的紧凑偏移量,两位数
A AM PM 上午或下午,大写字母
a am pm 上午或下午,小写字母
ddd 周一 周,需要设置locale = 'zh-cn',默认为英文
dddd 星期一 星期,需要设置locale = 'zh-cn',默认为英文

时间单位

单位 缩写 描述
day d
week w
month M
year y
hour h 小时
minute m 分钟
second s
millisecond ms 毫秒

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助 微信赞助

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议