简介
timeleap 是一款 Node.js 的工具包,可以轻松地计算时间差。相比于原生的 JavaScript,它更简单、易用、易读。
安装
使用 npm 安装 timeleap:
npm install timeleap
快速入门
计算时间差
计算两个日期之间的时间差,可以传入两个 Date 实例或者 ISO 格式的字符串:
const timeleap = require('timeleap'); const start = new Date('2021-01-01T00:00:00.000Z'); const end = new Date('2022-01-01T00:00:00.000Z'); console.log(timeleap(start, end)); // { seconds: 31536000, minutes: 525600, hours: 8760, days: 365, weeks: 52, months: 12, years: 1 }
格式化时间差
将计算出来的时间差格式化成人类可读的字符串:
const timeleap = require('timeleap'); const start = new Date('2021-01-01T00:00:00.000Z'); const end = new Date('2022-01-01T00:00:00.000Z'); console.log(timeleap.humanize(timeleap(start, end))); // 1 year
生成时间差对象
生成一个包含秒、分钟、小时、天、周、月、年字段的时间差对象,可以传入任意整数值:
const timeleap = require('timeleap'); console.log(timeleap.diff(1234567)); // { seconds: 7, minutes: 2, hours: 19, days: 14, weeks: 2, months: 1, years: 0 }
格式化时间戳
将时间戳格式化成人类可读的字符串:
const timeleap = require('timeleap'); console.log(timeleap.format('YYYY-MM-DD HH:mm:ss', Date.now())); // 2022-01-01 00:00:00
深入学习
API
下面是 timeleap 的所有 API:
timeleap(start: Date | string, end: Date | string): TimeObject
计算时间差,返回一个包含秒、分钟、小时、天、周、月、年字段的对象。timeleap.diff(milliseconds: number): TimeObject
生成一个包含秒、分钟、小时、天、周、月、年字段的时间差对象。timeleap.humanize(time: TimeObject): string
将时间差格式化成人类可读的字符串。timeleap.format(pattern: string, date: Date): string
将日期格式化成人类可读的字符串。支持的格式见下文。
时间格式化
timeleap 支持将日期格式化成人类可读的字符串。下面是支持的格式:
- YYYY: 4 位数的年份
- YY: 2 位数的年份
- MM: 2 位数的月份
- M: 1 位数的月份
- DD: 2 位数的日份
- D: 1 位数的日份
- HH: 24 小时制的小时数
- H: 12 小时制的小时数
- hh: 12 小时制的小时数
- h: 24 小时制的小时数
- mm: 2 位数的分钟数
- m: 1 位数的分钟数
- ss: 2 位数的秒数
- s: 1 位数的秒数
- SSS: 3 位数的毫秒数
- A: 上午/下午
下面是一些使用示例:
const timeleap = require('timeleap'); const date = new Date('2022-01-01T00:00:00.000Z'); console.log(timeleap.format('YYYY-MM-DD HH:mm:ss', date)); // 2022-01-01 00:00:00 console.log(timeleap.format('YY/M/D H:m:s', date)); // 22/1/1 0:0:0 console.log(timeleap.format('HH:mm:ss A', date)); // 00:00:00 上午
指导意义
timeleap 是一款轻量级的工具包,提供了常用的时间计算和格式化功能,能够大大提高前端开发的效率。使用 timeleap 能让开发者专注于业务逻辑的实现,而不用关心时间差的计算和格式化,从而更加高效地完成项目开发。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005722e81e8991b448e854b