@11ty/parse-date-strings
特征 :
- 零依赖性极小 RFC 9557 (英语)- 兼容的日期解析库。 日期字符串也可以由
Temporal.PlainDate.from, (中文(简体) ),Temporal.Instant.from,或Temporal.PlainDateTime.from筹备更广泛的 临时 API 支助. - 无效的字符串丢出错误 .
- 时区注释 :
- 当时区未知时默认为世界协调时( UTC)没有 (当地时间). 这符合"十一"中之前的行为,并且这个特性保持了构建和部署服务器的一致性.
- 支助
+00, (中文(简体) ),+00:00, (中文(简体) ),-00,或-00:00样式时区偏移(:分隔符是可选的)
- 标记符 :
- 要求数 (单位:千美元)
T或者说t或者说(空格)带有日期时间字符串的分隔符 - 日期的限定符(
-)和时间(:)是可选的
- 要求数 (单位:千美元)
不支持( 对于 RFC 9557 兼容性) :
- 独立时间格式为 没有 支持( 必须是日期或日期时间)
- ISO 每周日期语法 实值 没有 支持( 例如).
YYYY-W01-1(中文(简体) ) - 年份语法为 没有 支持( 例如).
YYYY-001, (中文(简体) ),YYYY-365(中文(简体) ) - 小数小时或分数(如:.
T14.6或者说T10:30.6已经 没有 已支持。 小数秒(如毫秒)是支持的(当然).
使用量
npm install @11ty/parse-date-strings
import { parse } from "@11ty/parse-date-strings
// `parse` returns JavaScript Date
parse("2000-01-01") instanceof Date
// true
parse("2000-01-01").toUTCString()
// "Mon, 01 Jan 2001 00:00:00 GMT"
比较
luxon
与 卢克逊 fromISO (在"十一·v.x"至"v3"中使用):
2016-05-25
20160525
2016-05-25T09
2016-05-25T09:24
2016-05-25T09:24:15
2016-05-25T09:24:15.123
2016-05-25T0924
2016-05-25T092415
2016-05-25T092415.123
2016-05-25T09:24:15,123
# No YYYY or YYYYMM syntax
2016 # Dropped
2016-05 # Dropped
201605 # Dropped
# No ISO week date syntax
2016-W21-3 # Dropped
2016W213 # Dropped
2016-W21-3T09:24:15.123 # Dropped
2016W213T09:24:15.123 # Dropped
# No day of year syntax (e.g. 200th day of the year)
2016-200 # Dropped
2016200 # Dropped
2016-200T09:24:15.123 # Dropped
# No implied current day (time-only syntax)
09:24 # Dropped
09:24:15 # Dropped
09:24:15.123 # Dropped
09:24:15,123 # Dropped