在 web 前端开发中,我们经常需要操作时间,比如格式化时间、计算时间间隔等等。而针对这些常见问题,常用的一种解决方案是使用 date-fns 这样的库,但是其语法不太友好。个人最近发现了一个 npm 包 endeo,使用方式非常简单,同时支持多种功能。本文将为大家详细介绍其使用教程。
安装
使用 npm 包管理器,执行以下命令进行 endeo 的安装:
npm install endeo
使用
endeo 提供了丰富的功能,下面一一介绍:
格式化日期
通过 import 导入 endeo 库后,你可以使用 endDate()
方法。该方法需要一个时间戳作为参数,返回值为格式化后的日期。
import { endDate } from 'endeo'; endDate(new Date().getTime(), 'yyyy/MM/dd'); // 返回当前日期 '2022/05/10'
在这个例子中,我们将 endDate()
方法的第二个参数设置为 'yyyy/MM/dd',以告诉 endeo 将日期格式化为 '年/月/日' 的形式。
除此之外,'yyyy/MM/dd' 外还有常用的格式化方式:
- 'yyyy年MM月dd日'
- 'yy-MM-dd'
- 'yyyy-MM-dd'
- 'yyyy/MM/dd'
- 'yyyy/MM/dd hh:mm:ss'
你还可以通过 endeo 提供的一些特殊字符来自定义你的日期格式化方式。比如:
endDate(new Date().getTime(), 'y年M月d日 h时m分s秒 S毫秒'); // 返回 '2022年5月10日 16时13分50秒 981毫秒'
详细的 endeo 格式化字符请查看官方文档。
获取星期
获取星期的方法也非常简单,你可以使用 getWeek()
方法。
import { getWeek } from 'endeo'; getWeek(new Date().getTime()); // 返回今天是本周的第 3 天,也就是星期二
格式化剩余时间
在一些倒计时、秒杀等场景下,我们常常需要知道将来某个时间距离当前时间的时间差,而 endeo 也可以在这方面帮我们。
import { remainingTime } from 'endeo'; remainingTime(new Date('2022/06/10 23:59:59').getTime()); // 返回格式如 '20天 7小时 46分 34秒'
可以看到,remainingTime()
方法的返回结果为格式化后的剩余时间。在这个例子中离 '2022/06/10 23:59:59' 由于没有比较时间点,所以程序自动以当前时间作为时间点。
格式化时间间隔
我们还可以使用 endeo 帮我们精确地计算时间间隔。
import { formatTimespan } from 'endeo'; formatTimespan(5 * 60 * 60 * 1000 + 45 * 60 * 1000 + 25 * 1000); // 返回格式如 '5小时45分25秒'
在这个例子中,formatTimespan()
方法的参数为 5 小时 45 分钟 25 秒的总时间毫秒数。
总结
以上就是 endeo 包的使用方法了,相比于其他的时间库,感觉 endeo 使用方式更加优美简洁,而且提供了丰富的功能,既方便了我们日常的开发,又会提高开发的效率。希望这篇文章能对你有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055a0181e8991b448d7a98