时间戳,是时间的数字表示,能够方便地进行时间的比较和排序。但是,时间戳又很难记忆和阅读,而且还需要手动转换成时间形式。因此,很多程序员都希望有一种能够将时间戳直接转换成易于理解的时间字符串的工具。
在前端领域,这个需求更加普遍。因此,有许多 npm 包提供了这种功能,其中一个比较好用的就是 time-key。本文将介绍如何使用 time-key npm 包来生成易于理解的时间字符串。
什么是 time-key
time-key 是一个轻量级的 npm 包,它能够将时间戳转换成常用的时间字符串格式,如 "YYYY-MM-DD HH:mm:ss"、"YYYY/MM/DD"、"YYYY年MM月DD日" 等。出于实用性的考虑,time-key 内置了 9 种常用时间格式,且支持自定义格式。除了转换时间戳,time-key 还能获取当前的时间戳和时间字符串。
对于前端开发者来说,time-key 具有如下优点:
方便:能够快速地将时间戳转换成易于理解的时间字符串
灵活:能够自定义输出格式,也能够获取当前时间戳和时间字符串
轻量:npm 包大小只有几 KB,不会对项目带来额外的负担
安装 time-key
在使用 time-key 之前,需要先通过 npm 安装它。在命令行工具中执行如下命令即可:
npm install time-key --save
使用 time-key
安装完成之后,就能够在项目中使用 time-key 了。首先,需要通过require
或import
将 time-key 引入项目:
const timeKey = require('time-key'); // CommonJS import timeKey from 'time-key'; // ES Module
转换时间戳为时间字符串
要将时间戳转换成时间字符串,可以使用format
方法。format
方法的第一个参数是一个数值型的时间戳,可以使用 Date.now()
或 new Date().getTime()
等方式获取时间戳。第二个参数是可选的输出格式字符串。
time-key 内置了 9 种常用时间格式,分别是:
- "YYYY-MM-DD HH:mm:ss"
- "YYYY-MM-DD"
- "HH:mm:ss"
- "HH:mm"
- "MM-DD"
- "MM/DD"
- "MM月DD日"
- "YYYY年MM月DD日 HH时mm分ss秒"
- "YYYY年MM月DD日"
这些时间格式在输出时需要使用[]
来表示,如'YYYY-MM-DD HH:mm:ss'
应该写成'[YYYY]-[MM]-[DD] [HH]:[mm]:[ss]'
,因为中括号是 time-key 的标记。
以下是几个例子:
timeKey.format(1594716428000, '[YYYY]-[MM]-[DD] [HH]:[mm]:[ss]'); // Output: '2020-07-14 03:27:08' timeKey.format(1594716428000, '[YYYY]/[MM]/[DD]'); // Output: '2020/07/14' timeKey.format(1594716428000, '[HH]:[mm]:[ss]'); // Output: '03:27:08'
除了内置的格式之外,也可以通过增加YYYY
、MM
、DD
、HH
、mm
、ss
、S
等标记自定义输出格式。
以下是展示如何自定义输出格式的例子:
timeKey.format(1594716428000, '[YYYY年MM月DD日] [HH时mm分ss秒]'); // Output: '2020年07月14日 03时27分08秒' timeKey.format(1594716428000, 'YY/MM/DD [HH:mm:ss.S]'); // Output: '20/07/14 03:27:08.0'
获取当前时间戳
要获取当前时间的时间戳,可以使用now
方法。该方法无需传入参数,直接返回当前的时间戳。
timeKey.now(); // Output: 1629629751013
获取当前时间字符串
要获取当前的时间字符串,可以使用format
方法。该方法的第一个参数也是可选的输出格式字符串,默认输出格式是'YYYY-MM-DD HH:mm:ss'
。这意味着,不需要给 format
方法传入任何参数,就能够得到当前时间的默认格式字符串。
timeKey.format(); // Output: '2021-08-22 16:26:01'
以下是展示如何自定义输出格式并获取当前时间的例子:
timeKey.format(null, '[YYYY年]MM月[DD日]'); // Output: '2021年08月22日' timeKey.format(null, '[HH时mm分ss秒]'); // Output: '16时26分01秒'
总结
通过本篇文章的介绍,你已经学会了如何使用 time-key npm 包来将时间戳转换成易于理解的时间字符串。相信在你的实际开发工作中,这个工具会为你节省不少时间和精力。如果你对 time-key 的实现原理和源码感兴趣,也可以去 npm 库或 GitHub 上查询相关信息。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f71238a385564ab6765