前端常用的时间格式配置格式
本文最后更新于:2024年7月24日 晚上
概述
我现在用的很多软件(如:Code、Obsidian、PicGo)或前端浏览器插件(如:Markdownload)或 静态站点生成器(如:Hexo)都是基于 JavaScript 技术的。这里配置项常常会涉及到时间格式的配置。而与时间有关的往往都会用到 moments.js 这个库。
Moments.js 已经在数百万个项目中成功使用,其为使 web 上的日期和时间更好做出了贡献。截至 2020 年 9 月,Moment 每周下载量超过 1200 万次!
Moments.js 格式
这是最健壮的显示选项。它接受一个 token 字符串,并用它们对应的值替换它们。
1 |
|
Token | Output | |
---|---|---|
月份 | M | 1 2 … 11 12 |
Mo | 1st 2nd … 11th 12th | |
MM | 01 02 … 11 12 | |
MMM | Jan Feb … Nov Dec | |
MMMM | January February … November December | |
每月几日 | D | 1 2 … 30 31 |
Do | 1st 2nd … 30th 31st | |
DD | 01 02 … 30 31 | |
星期几 | d | 0 1 … 5 6 |
do | 0th 1st … 5th 6th | |
dd | Su Mo … Fr Sa | |
ddd | Sun Mon … Fri Sat | |
dddd | Sunday Monday … Friday Saturday | |
每年的第几周 | w | 1 2 … 52 53 |
wo | 1st 2nd … 52nd 53rd | |
ww | 01 02 … 52 53 | |
年 | YY | 70 71 … 29 30 |
YYYY | 1970 1971 … 2029 2030 | |
Y | 1970 1971 … 9999 +10000 +10001 注 : 本文件符合 ISO 8601 标准,适用于 9999 年以后的日期 |
|
AM/PM | A | AM PM |
a | am pm | |
时 | H | 0 1 … 22 23 |
HH | 00 01 … 22 23 | |
h | 1 2 … 11 12 | |
hh | 01 02 … 11 12 | |
k | 1 2 … 23 24 | |
kk | 01 02 … 23 24 | |
分 | m | 0 1 … 58 59 |
mm | 00 01 … 58 59 | |
秒 | s | 0 1 … 58 59 |
ss | 00 01 … 58 59 | |
Fractional Second | S | 0 1 … 8 9 |
SS | 00 01 … 98 99 | |
SSS | 000 001 … 998 999 | |
SSSS … SSSSSSSSS | 000[0…] 001[0…] … 998[0…] 999[0…] | |
时区 | z or zz | EST CST … MST PST Note: as of 1.6.0, the z/zz format tokens have been deprecated from plain moment objects. Read more about it here. However, they do work if you are using a specific time zone with the moment-timezone addon. |
Z | -07:00 -06:00 … +06:00 +07:00 | |
ZZ | -0700 -0600 … +0600 +0700 | |
Unix Timestamp | X | 1360013296 |
Unix Millisecond Timestamp | x | 1360013296123 |
本地化的格式
由于首选格式根据语言环境的不同而不同,因此可以使用一些标记来根据语言环境对某个时刻进行格式化。
在相同的格式上有大写和小写的变化。小写版本是其大写版本的缩写版本。
Time | LT | 8:30 PM |
---|---|---|
Time with seconds | LTS | 8:30:25 PM |
Month numeral, day of month, year | L | 09/04/1986 |
l | 9/4/1986 | |
Month name, day of month, year | LL | September 4, 1986 |
ll | Sep 4, 1986 | |
Month name, day of month, year, time | LLL | September 4, 1986 8:30 PM |
lll | Sep 4, 1986 8:30 PM | |
Month name, day of month, day of week, year, time | LLLL | Thursday, September 4, 1986 8:30 PM |
llll | Thu, Sep 4, 1986 8:30 PM |
默认格式
调用没有格式的 moment#format
将默认为 moment.defaultformat
。此时,moment.defaultFormat
为 ISO8601 格式 YYYY-MM-DDTHH:mm:ssZ
。
自 2.13.0 版本起,在 UTC 模式下,默认格式由 moment.defaultFormatUtc
控制,格式为 YYYY-MM-DDTHH:mm:ss[Z]
。这将返回 Z
作为偏移量,而不是 +00:00
。
举例
比如:
- 我的浏览器插件配置为:
YYYY-MM-DD HH:mm:ss
, 显示效果为:2021-09-18 15:36:16
- 我的 obsidian 模板插件配置为:
YYYY-MM-DD_ddd
,显示效果为:2021-09-14_周二
- 我的博客配置为:
LL a
,显示效果为:2021 年 9 月 18 日 下午
参考链接
📑参考链接:
前端常用的时间格式配置格式
https://ewhisper.cn/posts/11415/