1.0.0 • Published 4 years ago

@xiongliding/litdate v1.0.0

Weekly downloads
1
License
MIT
Repository
-
Last release
4 years ago

litdate

一个非常简单的时间处理工具

目标

与语言无关的时间处理工具,本身没有多语言支持但可以方便的结合中文使用,使用客户端的时区

安装

现在可以通过 npm 安装和使用 litdate 了。

npm install @xiongliding/litdate

node

const litdate = require('litdate');

webpack 等

import litdate from 'litdate';

用法

var ld = litdate(); // 当前时间
ld.Y // 2017;
ld.format('Y-m-d H:i:s'); // 2017-12-05 22:16:07

var ld20170101 = litdate(new Date(2017, 0, 1, 22, 16, 7)); // 传入 Date 对象
ld20170101.format('y年n月j日 G时I分S秒'); // 17年1月1日 22时16分7秒

更多用法可参考 test.js 中的测试用例。

属性与方法

内容基本参照了 php 的日期页面,但由于不需要支持语言和时区,把 Z I S e 的用途做了改变。

无前导 0 的为数值类型,前导 0 的为字符串类型。

属性描述例子备注
------------
d每月的几号,2 位数字,前导 001 到 31
j每月的几号,无前导 01 到 31
NISO-8601 周日历,每周第几天1(周一)到 7(周日)
w每周第几天0(周日)到 6(周六)
z每年第几天(从 0 开始)0 到 365
Z每年第几天(从 1 开始)1 到 366变化
------------
WISO-8601 周日历第几周,每周从周一开始,前导 001-53
eISO-8601 周日历第几周,每周从周一开始,无前导 01-53变化
------------
m月份,前导 001-12
n月份,无前导 01-12
t本月有几天28-31
------------
L是否闰年闰年 1,否则 0
oISO-8601 周日历中的年份,一般和 Y 相同,年初和年尾的那周可能不同例子:1999、2003
Y年份,4 位数字例子:1999、2003
y年份,2 位数字例子:99、03
时间------------
a午前午后am pm
A午前午后AM PM
g12 小时制,无前导 01 到 1212 小时制没有 0 点
G24 小时制,无前导 00 到 23
h12 小时制,前导 001 到 1212 小时制没有 0 点
H24 小时制,前导 000 到 23
i分,前导 000 到 59
I分,无前导 00 到 59变化
s秒,前导 000 到 59
S秒,无前导 00 到 59变化
方法描述例子
format将字符串中与属性名匹配的部分替换成数值ld.format('Y-m-d') => '2017-12-05'

测试

npm run test

变更

现在主流环境都支持 ES6 语法,因此 litdate.js 也改用了新语法,尽管没什么实质性的提升。 新版本使用了 CommonJS 风格的 module.exports ,因为此方法兼容 node 和 webpack 等工具,但不能直接放到浏览器中运行。 等 node 默认支持 ES 标准的模块管理一段时间后,会将其改为 export 的形式。

早先的版本被更名为 litdate.legacy.js ,仍然使用了经典语法,方便直接在浏览器中引用。