首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用date-fns转换时间

date-fns 是一个现代的 JavaScript 日期实用库,提供了简单、全面和一致的工具来操作 JavaScript 中的日期。它的设计目标是提供最简单的API,同时保持小巧的库大小。使用 date-fns,你可以轻松地进行日期的解析、格式化、比较等操作。

安装 date-fns

首先,你需要在你的项目中安装 date-fns。如果你正在使用 npm,可以通过以下命令安装:

代码语言:javascript
复制
npm install date-fns

或者,如果你使用的是 yarn:

代码语言:javascript
复制
yarn add date-fns

常见的日期操作

1. 解析日期

如果你有一个日期字符串,你可以使用 parseISO 函数将其转换为 JavaScript 的 Date 对象:

代码语言:javascript
复制
import { parseISO } from 'date-fns';

const dateString = '2023-09-15T14:00:00.000Z';
const date = parseISO(dateString);
console.log(date);  // 输出: 2023-09-15T14:00:00.000Z (这将根据你的时区而有所不同)

2. 格式化日期

要将日期格式化为更易读的形式,可以使用 format 函数:

代码语言:javascript
复制
import { format } from 'date-fns';

const date = new Date();
const formattedDate = format(date, 'yyyy-MM-dd');
console.log(formattedDate);  // 输出: 例如 "2023-09-15"

3. 添加或减去时间

你可以使用 addsub 函数来对日期进行加减操作:

代码语言:javascript
复制
import { add, sub } from 'date-fns';

const date = new Date();

const addedDate = add(date, { days: 10 });
console.log(format(addedDate, 'yyyy-MM-dd'));  // 输出: 当前日期加10天

const subtractedDate = sub(date, { days: 5 });
console.log(format(subtractedDate, 'yyyy-MM-dd'));  // 输出: 当前日期减5天

4. 比较日期

要比较两个日期,可以使用 isBefore, isAfter 等函数:

代码语言:javascript
复制
import { isBefore, isAfter } from 'date-fns';

const date1 = new Date(2023, 8, 15);  // 注意月份是从0开始的,所以8代表9月
const date2 = new Date(2023, 8, 16);

console.log(isBefore(date1, date2));  // 输出: true
console.log(isAfter(date1, date2));   // 输出: false

使用 date-fns 的优势

  • 模块化: date-fns 允许你只导入需要的函数,这有助于减少最终打包的大小。
  • 不可变性: 所有的 date-fns 函数都不会改变提供的日期对象,这有助于避免常见的日期相关的bug。
  • 简洁的API: date-fns 提供了一套简单而直观的API,使得日期操作变得非常容易。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Linux时间转换_时间转换软件

    Linux 时间戳date命令 例如,如果我们希望找到 2022 年 1 月 1 日的 UNIX 时间戳,我们可以使用 date 命令。...反过来也是可能的,我们采用 UNIX 时间戳并将其转换为日期表示。 为了取回我们的原始日期,我们可以传递如图所示的 UNIX 时间戳来转换它。...Linux下时间转换工具使用时间函数 ctime()、gmtime() 和 localtime() 函数都采用数据类型 time_t 的参数,它表示日历时间。...localtime() localtime() 函数将日历时间 timep 转换为分解的时间表示,表示相对于用户指定的时区。...返回值指向一个静态分配的可能被后续调用任何日期和时间函数覆盖的结构。 mktime() mktime() 函数将分解的时间结构(表示为本地时间转换为日历时间表示。

    15.6K30

    linux时间转换时间指令_时间转换公式

    原文地址:http://wanping.blogbus.com/logs/28663569.html 1、时间转换为正常显示的时间格式 Freebsd 系统下: 转换命令为: date...1112173761 seconds'” 或者 date -d ‘1970-01-01 UTC 1112173761 seconds’ +”%Y-%m-%d %T %z” (年月日格式不一样) 时间转换为正常显示的时间格式...,问题解决了,那么如何把我们正常的时间格式转为时间戳呢 2、正常显示的时间格式转换时间戳 php把当前时间转换时间戳 php -r “echo(mktime());” 这里需要说下,...使用 php 的时候,如果不想每次都在文件中编写执行,就是用 php -r 命令,就把后面的脚本执行了。...,不需要每次时间到了又要更换过期时间,我就把过期时间设为 100 天,执行命令如下: php -r “echo(strtotime(‘+100 days’));” Linux、FreeBsd系统当前时间转换时间

    9.1K20

    c++时间转换日期格式_java时间转换时间

    因工作需要,经常跟时间戳打交道,但是因为它仅仅是一个数字,我们很难直接看出它有什么意义,或两个时间戳之间究竟差了多长的间隔。...于是从MSDN for Visual Studio6上找到了时间转换成日期时间的算法。本文除介绍这一算法外,还提供一个示例代码。 1、将时间转换成一串32比特的二进制数。...比如481522543转换成 0001 1100 1011 0011 0111 0011 0110 1111 2、根据下面格式转换各个字段为10进制数字 YYYY YYYM MMMD DDDD HHHH...= 19 H = hour = 0000 1110 = 14 M = minutes = 0001 1011 = 27 s = seconds = 0000 1111 = 15 注意最右边一位在从日期转换时间戳的时候砍掉了...也因为此,转换后日期时间的“秒”字段总是一个偶数:-) 3、特殊处理: 年这一字段从1980开始计算,因此要加上1980才是正确年份。

    6K30

    Python | 时间转换

    像上图中的beginbidtime变量,这是时间戳。时间戳是啥?...时间戳的好处是能够唯一地表示某一刻的时间,但这显然不利于肉眼观察和分析数据,所以下面我们将时间戳转化为常见的时间格式。 2....方法介绍 可以使用Pandas库中的to_datetime()函数实现,to_datetime()函数用于转换字符串、时间戳等各种形式的日期数据,转换Series时,返回具有相同索引的Series,日期时间列表则会被转换为...鉴于 Timestamp 对象内部存储方式,这种转换的默认单位是纳秒。不过,一般都会用指定其它时间单位 unit 来存储纪元数据。...实现结果 经过上面的操作,就将时间转换转换为我们熟悉的时间格式了。结果如下: ?

    3.6K20

    c语言时间转换日期格式_c语言时间转换时间

    时间戳是计算机中记录时间的一种方法,某一时刻的时间戳指的是从 1970 年 1 月 1 日 0 时 0 分 0 秒开始到该时刻总共过了多少秒。...假设一年 12 个月,每个月有 30 天,那么: 一天的时间(秒)为:days = 24×60×60 = 86400 秒; 一个月的时间(秒)为:months = days×30 = 2592000 秒...n 除以一年的时间(秒)years 的商加上 1970 就是具体年份 y,余数再除以一月的时间(秒)months 的商加 1 就是月份 m,再次得到的余数除以一天的时间(秒)days 的商加 1 就是日期...(秒单位的值)相互转换的过程。...图 1:普通时间值和时间戳(秒单位的值)相互转换 算法描述 代码清单 1:C语言程序源代码(时间戳) #include #include int main( ) { system(“color

    7.1K30

    Python时间,日期,时间戳之间转换

    1.将字符串的时间转换时间戳    方法:        a = "2013-10-10 23:40:00"        将其转换时间数组        import time        ...timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")    转换时间戳:    timeStamp = int(time.mktime(timeArray...%Y/%m/%d %H:%M:%S", timeArray) 3.时间转换为指定格式日期:    方法一:        利用localtime()转换时间数组,然后格式化为需要的格式,如...   方法一:        import time        获得当前时间时间戳        now = int(time.time())  ->这是时间戳        转换为其他日期格式...,计算该时间的几天前时间:    timeStamp = 1381419600    先转换为datetime    import datetime    import time    dateArray

    2.5K10
    领券