当前位置: 首页 > 工具软件 > date-fns > 使用案例 >

date-fns一个现代JavaScript日期工具库的使用

茹正初
2023-12-01

基础方法

isToday():判断所传入日期是否为今天
isYesterday(): 判断是否为昨天
isTomorrow()判断是否为明天. 用法与isToday(), isYesterday()用法相同,就不加以累述了.
format(): 格式化日期函数
addDays():获得第n天之后的日期;
addHours(): 获得当前小时之后的小时(比如现在5点, 得到七点的时间).
addMinutes():获得当前分钟之后n分钟的时间
addMonths(): 获得当前月之后n个月的月份
subDays():获得当前日期之前n天的日期
subHours(): 获得当前时间之前n小时的时间
subMinutes(): 获得当前时间之前n分钟的时间
subMonths():获得当前月份之前n个月的时间
differenceInDays(): 获得两个时间相差几天,
differenceInHours();获得两个时间相差的小时.
differenceInMinutes(): 获得两个时间相差的分钟
differenceInMonths():获得两个时间相差月份
differenceInWeeks(): 获得两个时间相差的周数
differenceInYears():获得两个时间相差的年数
startOfDay():返回传入日期一天开始的Date对象(一天开始的时间)
endOfDay(): 获得传入日期一天的结束时间(与startOfDay对应)
startOfMonth():获取月份的第一天
endOfMonth(): 获得月份的最后一天
getDate(): 获取传入的日期是几号;
getDay(): 获取传入的日期是星期几
getMonth(): 返回传入时间的月份
getMinutes(): 返回传入时间的分钟数
getHours():返回传入时间的小时数
getISOWeek(): 返回传入时间所在月份的第几周.
isEqual(): 判断传入的时间是否相等
max(): 取得时间数组中的最大值
min(): 取得时间数组中的最小值

语法

1.isToday():判断是否为今天

import { isToday, format } from 'date-fns';
const day = new Date();
console.log(isToday(day)); // 结果为: true

2.isYesterday():判断是否为昨天

import { isYesterday, format } from 'date-fns';
const date = new Date();
console.log(isYesterday(date)); //结果false
console.log(isYesterday("2019-01-02T06:35:00.000Z")); //结果为true

3.isTomorrow()判断是否为明天. 用法与isToday(), isYesterday()用法相同.

4.format(): 格式化日期函数

function format (
    date: Date | string | number,
    format?: string,
    options?: {
      locale?: Object
    }
): string
namespace format {}

该函数传入三个参数, 第一个参数为必传参数,可以为date, string, number, 第二个format为日期格式,为可选参数.第三个暂时没用到是可选参数

const date = new Date();
console.log(format(date, 'HH:mm')); // 17:05
console.log(format(date, 'YYYY-MM-DD HH:mm:ss')); //2019-01-03 17:26:33
console.log(format(date, 'YYYY-MM-DD')); //2019-01-03 
// 不传第二个参数的时候.
console.log(format(date));//2019-01-03T17:27:27.102+08:00
  1. addDays():获得第n天之后的日期;
function addDays (
  date: Date | string | number,
  amount: number
): Date

该函数需要传入两个参数,第一个为date对象, 第二个为一个number类型的数字.传入1返回明天的日期,2则是后天的日期,以此类推. 返回的是一个日期对象

let date = new Date(); //2019-01-03
console.log(format( addDays(date, 1), 'YYYY-MM-DD HH:mm:ss')); // 2019-01-04 17:46:30
//在这里为了阅读方便,我在该函数外面套用了format.
console.log(format( addDays(date, 2), 'YYYY-MM-DD')); //2019-01-05

6.addHours(): 获得当前小时之后的小时(比如现在5点, 得到七点的时间).

7.addMinutes():获得当前分钟之后n分钟的时间

8.addMonths(): 获得当前月之后n个月的月份

9.subDays():获得当前日期之前n天的日期

function subDays (
  date: Date | string | number,
  amount: number
): Date

该函数传入两个参数,第一个参数date可以为Date, string,number, 第一个参数为number类型,例如(1,2). 返回一个Date对象

const date = new Date();
console.log(format(date, 'YYYY-MM-DD HH:mm:ss'));//2019-01-04 11:03:33
console.log(format( subDays(date, 2), 'YYYY-MM-DD HH:mm:ss')); //2019-01-02 11:03:33

10: subHours(): 获得当前时间之前n小时的时间

11: subMinutes(): 获得当前时间之前n分钟的时间

12: subMonths():获得当前月份之前n个月的时间

13: differenceInDays(): 获得两个时间相差几天

function differenceInDays (
  dateLeft: Date | string | number,
  dateRight: Date | string | number
): number

传入两个参数, dateLeft为时间比较靠前的时间, dateRight 为时间比较靠后的时间. 返回一个number类型的数字

const time = '2017-01-29 11:03:33';
const date = new Date();
console.log(format(date, 'YYYY-MM-DD HH:mm:ss'));
console.log(differenceInCalendarDays(date, time));
console.log(differenceInDays(date, time)); //705

14:differenceInHours();获得两个时间相差的小时.

15: differenceInMinutes(): 获得两个时间相差的分钟

16: differenceInMonths():获得两个时间相差月份

17: differenceInWeeks(): 获得两个时间相差的周数

18: differenceInYears():获得两个时间相差的年数

19:startOfDay():返回传入日期一天开始的Date对象(一天开始的时间)

function startOfDay (
  date: Date | string | number
): Date

传入一个参数,可以是Date类型,string, number类型. 返回一个Date对象.

const today = new Date();
const startDate = startOfDay(today); /Mon Jan 14 2019 00:00:00 GMT+0800 (中国标准时间)

20: endOfDay(): 获得传入日期一天的结束时间(与startOfDay对应)

function endOfDay (
  date: Date | string | number
): Date

传入一个参数,可以是Date类型,string, number类型. 返回一个Date对象.

const today = new Date();
const endDate = endOfDay(today);
console.log('endDate', endDate);// Mon Jan 14 2019 23:59:59 GMT+0800 (中国标准时间)

21: startOfMonth():获取月份的第一天

function startOfMonth (
  date: Date | string | number
): Date

传入一个参数,可以是Date类型,string, number类型. 返回一个Date对象.

const today = new Date();
const startMonth = startOfMonth(today); //Tue Jan 01 2019 00:00:00 GMT+0800 (中国标准时间)
const aa = format(startMonth, 'YYYY-MM-DD HH:mm:ss'); // 2019-01-01 00:00:00

22: endOfMonth(): 获得月份的最后一天

function endOfMonth (
  date: Date | string | number
): Date

传入一个参数,可以是Date类型,string, number类型. 返回一个Date对象.

const today = new Date();
const endMonth = endOfMonth(today); //Thu Jan 31 2019 23:59:59 GMT+0800 (中国标准时间)
const aa = format(endMonth, 'YYYY-MM-DD HH:mm:ss'); // 2019-01-31 23:59:59
console.log('endMonth', endMonth);

23: getDate(): 获取传入的日期是几号;

function getDate (
  date: Date | string | number
): number

传入一个参数,可以是Date类型,string, number类型. 返回一个number类型的数据

console.log(getDate('2019-01-15 00:00:00')); // 15

24: getDay(): 获取传入的日期是星期几

function getDay (
  date: Date | string | number
): number

传入一个参数,可以是Date类型,string, number类型. 返回一个number类型的数据

console.log(getDay('2019-01-15 00:00:00')); // 2

25: getMonth(): 返回传入时间的月份

function getMonth (
  date: Date | string | number
): number

传入一个参数,可以是Date类型,string, number类型. 返回一个number类型的数据

const day = new Date();
console.log(getMonth(day)); // 0
 类似资料: