dayjs 用法快速上手
Day.js 是一个轻量级的 JavaScript 日期处理库,类似于 Moment.js,但体积更小。Day.js 提供了丰富的 API 来解析、格式化和操作日期。以下是 Day.js 的一些基本使用方法:
首先,确保你已经安装了 Day.js。你可以通过 npm 或 yarn 将其添加到你的项目中:
npm install dayjs
// 或
yarn add dayjs
导入 Day.js:
import dayjs from 'dayjs';
解析日期,格式化日期,操作日期:
const date = dayjs('2021-09-01');
const formattedDate = dayjs('2021-09-01').format('YYYY-MM-DD');
console.log(formattedDate); // 输出:2021-09-01
使用 isBefore() 方法判断时间是否小于今天:
const inputDate = '2021-09-01'; // 示例日期
const today = dayjs().startOf('day'); // 今天的开始
const isBeforeToday = dayjs(inputDate).isBefore(today);
console.log('Is the input date before today?', isBeforeToday);
使用 isAfter() 方法判断时间是否大于今天:
const isAfterToday = dayjs(inputDate).isAfter(today);
console.log('Is the input date after today?', isAfterToday);
要使用 Day.js 将时间设置为一天的开始或结束,你可以使用 startOf() 和 endOf() 方法。以下是如何将时间设置为一天的开始和结束的示例:
使用 startOf() 方法将时间设置为一天的开始:
const now = dayjs(); // 当前时间
const startOfDay = now.startOf('day'); // 一天的开始
console.log('Start of Day:', startOfDay.format());
使用 endOf() 方法将时间设置为一天的结束:
const endOfDay = now.endOf('day'); // 一天的结束
console.log('End of Day:', endOfDay.format());
这些方法可以与其他时间单位一起使用,例如 ‘month’、‘year’ 等,以将时间设置为相应单位的开始或结束。例如,要将时间设置为一个月的开始和结束,可以使用 startOf(‘month’) 和 endOf(‘month’)。
Day.js 还提供了许多其他功能,如插件支持、本地化等。要了解更多关于 Day.js 的信息,请查阅官方文档:https://day.js.org/
UTC
默认情况下,Day.js 会把时间解析成本地时间。它会根据用户计算机的系统时间和时区设置自动获取当前的本地时间。
如果想使用 UTC 时间,您可以调用 dayjs.utc() 而不是 dayjs()。
在 UTC 模式下,所有显示方法将会显示 UTC 时间而非本地时间。
// 默认是当地时间
dayjs().format() //2019-03-06T08:00:00+08:00
// UTC 时间
dayjs.utc().format() // 2019-03-06T00:00:00Z
现在,你可以使用 Day.js 的 utc() 方法处理 UTC 时间,然后使用 tz() 方法将其转换为不同地区的时间。例如,将 UTC 时间转换为纽约时间:
const utcTime = '2021-09-01T12:00:00Z'; // UTC 时间
const newYorkTime = dayjs.utc(utcTime).tz('America/New_York').format();
console.log('New York Time:', newYorkTime);
要将 UTC 时间转换为其他地区的时间,只需将 tz() 方法中的时区参数更改为所需的时区。例如,将 UTC 时间转换为东京时间:
const tokyoTime = dayjs.utc(utcTime).tz('Asia/Tokyo').format();
console.log('Tokyo Time:', tokyoTime);
请注意,时区字符串(如 ‘America/New_York’ 和 ‘Asia/Tokyo’)是基于 IANA 时区数据库的。你可以在这里找到完整的时区列表:https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
在 Day.js 中,format() 函数用于格式化日期和时间。在格式字符串中,大写和小写字母表示不同的格式化选项。以下是一些常见的大写和小写字母格式选项及其含义:
年份:
YYYY:4 位数的年份,例如 2021。
YY:2 位数的年份,例如 21。
月份:
MM:2 位数的月份,例如 01、02 等。
MMM:月份的缩写名称,例如 Jan、Feb 等。
MMMM:月份的完整名称,例如 January、February 等。
日期:
DD:2 位数的日期,例如 01、02 等。
Do:带序数的日期,例如 1st、2nd 等。
星期:
d:一周中的第几天,周日为 0,周一为 1,依此类推。
dd:星期几的缩写名称,例如 Su、Mo 等。
ddd:星期几的简写名称,例如 Sun、Mon 等。
dddd:星期几的完整名称,例如 Sunday、Monday 等。
小时:
HH:24 小时制的小时,例如 00、01、23 等。
hh:12 小时制的小时,例如 01、02、11 等。
分钟:
mm:2 位数的分钟,例如 00、01、59 等。
秒:
ss:2 位数的秒,例如 00、01、59 等。
上午/下午:
A:大写的上午/下午标识符,例如 AM、PM。
a:小写的上午/下午标识符,例如 am、pm。
这些仅是 Day.js 中可用的一些格式选项。更多格式选项和详细信息,请参阅 Day.js 文档:https://day.js.org/docs/en/display/format
dayjs 用法快速上手相关推荐
- Unity Xchart3.0基本用法快速上手
(继承自basechart都可以采用这种格式) 至于title需要自行改一下 更多美化需求可以查阅APIXCharts/XChartsAPI-ZH.md 在 3.0 ·X图表-团队/X图表 (gith ...
- pyqt5从子目录加载qrc文件_PyQt5快速上手基础篇10-QSettings用法
前言 本节我们学习使用PyQt5的QSettings的用法,使用QSettings可以记住用户操作UI界面设置的参数,下次打开软件的时候,会直接加载用户上一次设置的参数. 一.基础知识 1.QSett ...
- 【转】Vue.js 2.0 快速上手精华梳理
Vue.js 2.0 快速上手精华梳理 Sandy 发掘代码技巧:公众号:daimajiqiao 自从Vue2.0发布后,Vue就成了前端领域的热门话题,github也突破了三万的star,那么对于新 ...
- Python学习六大路线,教你快速上手
最近几年随着互联网的发展学习Python人越来越多,Python的初学者总希望能够得到一份Python学习路线图,小编经过多方面汇总,总结出比较全套Python学习路线,快速上手.对于一个零基础的想学 ...
- smarty半小时快速上手入门教程
本文讲述了smarty快速上手入门的方法,可以让读者在半小时内快速掌握smarty的用法.分享给大家供大家参考.具体实现方法如下: 一.smarty的程序设计部分: 在smarty的模板设计部分我简单 ...
- 0基础入门,如何快速上手Python?
0基础入门,如何快速上手pythpn 新的改变 因为清晰易读的风格,广泛的适用性,python已经成为最受欢迎的编程语言之一,在TIOBE排行榜位居第四,是名副其实的人工智能第一语言. python ...
- Linux工具快速上手,Linux很实用命令
Linux工具快速上手 前言 Linux下有很多命令行工具供我们使用,每个工具总是提供了大量参数供我们选择: 实际工作中,我们用到的工具,最常用的总是那么几个参数组合: 为此,我写了这本书相对实用的书 ...
- 《Python游戏编程快速上手》第八章--Hangman
可能有的读者会觉得很奇怪,上一篇还是第五章,这一篇就是第八章了,中间的第六七章难道被博主吃掉了吗? 我想说明一下的是,在学习<Python游戏编程快速上手>一书的过程中,我越发觉得这本书更 ...
- crontab快速上手
crontab快速上手 crontab在类unix系统(Linux也能用)中用于设置周期性被执行的指令.crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的任务 ...
- python编程快速上手 让繁琐工作自动化 豆瓣_2019年,这些豆瓣评分9.0以上的8本程序员好书你都知道吗?...
豆瓣这些9.0以上的高评分程序员好书你都知道有哪些吗?小编去豆瓣看了一下,推荐这8本最适用的程序员好书给你. 1.UNIX环境高级编程(第3版)(豆瓣评分9.6)UNIX编程圣经 与Linux相结合的 ...
最新文章
- laravel auth login 重定向自定义_Laravel学习之路(一):最简单的API 认证(Passport)实践...
- 李幸原:看好实时音视频在教育与医疗的前景
- python socket之udp说明
- [JavaWeb-CSS]CSS扩展选择器
- Hive_Hive的数据模型_内部表
- Fiddler响应拦截数据篡改,实现特殊场景深度测试(一)
- JSHint 代码检查
- JS 立即执行的函数表达式(function)写法
- 后端服务接口都在测试什么?怎么测?
- 项目管理:RASCI模型
- 谈谈5G的信道编码方法
- mysql创建学生信息选课系统_MySQL学生信息管理系统
- h5 android 重力 晃动,H5案例分享:html5重力感应事件
- 目标检测里,视频与图像有何区别?
- Echarts实现以秒为单位的动态三条折线图显示
- 初次使用Fleck+redis订阅发布实现学习小demo
- canvas学习绘制渐变色
- android 高仿拼多多,Android 仿京东、拼多多商品分类页
- Linux命令卸载谷歌浏览器,UBUNTU16.04安装谷歌浏览器卸载firefox浏览器
- 统计分析__卡方分布
热门文章
- 用计算机算卷积的规则,信号卷积计算公式与在线计算器_三贝计算网_23bei.com
- JPA 处理子类关联
- Show and Tell模型
- c语言奖学金计算系统抽象数据模型,河北农业大学农业信息化技术研究生考试科目和考研参考书目...
- 【MySQL】总结:外部txt数据导入MySQL的避坑指南(ERROR code: 3948/2068/1300/1366)
- 股票day级历史数据的下载方法
- 在anaconda下安装OpenCV-Python的最简单方法
- 将css规则应用于html,与身体相比,将CSS规则应用于html有什么区别?
- 苹果手机可以做到应用分身双开?如何在iPhone上做到同时登陆呢?
- Junit3 单元测试 用等价类测试电话号码