@xiongliding/litdate
v1.0.0
Published
Lightweight date util, format like date() in php, without timezone & i18n.
Downloads
2
Readme
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 位数字,前导 0 | 01 到 31 | | | j | 每月的几号,无前导 0 | 1 到 31 | | | N | ISO-8601 周日历,每周第几天 | 1(周一)到 7(周日) | | | w | 每周第几天 | 0(周日)到 6(周六) | | | z | 每年第几天(从 0 开始) | 0 到 365 | | | Z | 每年第几天(从 1 开始) | 1 到 366 | 变化 | | 周 | ---- | ---- | ---- | | W | ISO-8601 周日历第几周,每周从周一开始,前导 0 | 01-53 | | | e | ISO-8601 周日历第几周,每周从周一开始,无前导 0 | 1-53 | 变化 | | 月 | ---- | ---- | ---- | | m | 月份,前导 0 | 01-12 | | | n | 月份,无前导 0 | 1-12 | | | t | 本月有几天 | 28-31 | | | 年 | ---- | ---- | ---- | | L | 是否闰年 | 闰年 1,否则 0 | | | o | ISO-8601 周日历中的年份,一般和 Y 相同,年初和年尾的那周可能不同 | 例子:1999、2003 | | | Y | 年份,4 位数字 | 例子:1999、2003 | | | y | 年份,2 位数字 | 例子:99、03 | | | 时间 | ---- | ---- | ---- | | a | 午前午后 | am pm | | | A | 午前午后 | AM PM | | | g | 12 小时制,无前导 0 | 1 到 12 | 12 小时制没有 0 点 | | G | 24 小时制,无前导 0 | 0 到 23 | | | h | 12 小时制,前导 0 | 01 到 12 | 12 小时制没有 0 点 | | H | 24 小时制,前导 0 | 00 到 23 | | | i | 分,前导 0 | 00 到 59 | | | I | 分,无前导 0 | 0 到 59 | 变化 | | s | 秒,前导 0 | 00 到 59 | | | S | 秒,无前导 0 | 0 到 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 ,仍然使用了经典语法,方便直接在浏览器中引用。