1.0.2 • Published 11 months ago
@jotter/dateformat v1.0.2
dateFormat
轻巧易用的日期/时间格式化函数。根据传入的占位符返回格式化后的日期/时间。
Lightweight and easy date/time formatting function that returns the formatted date/time based on the passed in placeholders.
Install
npm
npm install @jotter/dateformat
browser
https://cdn.jsdelivr.net/npm/@jotter/dateformat/dist/index.global.js
Usage
import dateFormat from '@jotter/dateformat'
dateFormat(new Date(), 'ddd YYYY/MM/DD HH:mm:ss SSS ZZ')
// Thu 2023/05/25 14:04:25 405 +0800
dateFormat(new Date())
// 2023-05-25 14:05:46
dateFormat(new Date(), 'date')
// '2023-05-25'
dateFormat(new Date(), 'time')
// '13:58:30'
dateFormat('2023/05/25 14:04:25', 'dddd YYYY/MM/DD hh:mm a')
// Thursday 2023/05/25 02:04 pm
dateFormat('2023/05/25 14:04:25', 'YYYY/MM/DD AAh:mm dddd', 'zh')
// 2023/05/25 下午2:04 星期四
dateFormat('2023-5-21', '[Today is] dddd', 'en')
// Today is Sunday
dateFormat('2023-5-25', (date) => {
return `今天是${date.M}月${date.D}日 星期${date.dd}`
}, 'zh')
// 今天是5月25日 星期四
API
dateFormat(date, formatter, locale)
date
需要格式化的日期/时间。
type
:Date | string | number
formatter
格式化方式。
type
:string | Function | 'datetime' | 'date' | 'time'
default
:datetime
locale
格式化的语言环境,默认为英文。
type
:'zh' | 'en'
default
:en
对照表
- 对照表与
moment.js
一致 - 将字符放在方括号中,即可原样返回而不被格式化替换 (例如,
[MM]
)
占位符 | 输出 | 详情 |
---|---|---|
YY | 23 | 两位数的年份 |
YYYY | 2023 | 四位数的年份 |
M | 1-12 | 月份,从 1 开始 |
MM | 01-12 | 月份,两位数 |
MMM | Jan-Dec 或 一, 十二 | 简写月份 |
MMMM | October 或 十月 | 完整月份 |
D | 1-31 | 月份里的一天 |
DD | 01-31 | 月份里的一天,两位数 |
Q | 1-4 | 季度(数字) |
QQ | 一, 四 | 季度 (中文) |
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 | 小时, 12 小时制, 两位数 |
m | 0-59 | 分钟 |
mm | 00-59 | 分钟,两位数 |
s | 0-59 | 秒 |
ss | 00-59 | 秒, 两位数 |
S | 0-9 | 毫秒 (后1位) |
SS | 00-99 | 毫秒 (后2位) |
SSS | 000-999 | 毫秒 (3位) |
Z | +05:00 | UTC 的偏移量,±HH:mm |
ZZ | +0500 | UTC 的偏移量,±HHmm |
a | am/pm | |
A | AM/PM | |
AA | 上午/下午 |