TypeScript日期工具: date-fns日期工具的使用方法
1、引入
$ npm install --save date-fns
2、使用
import {
isToday,
isYesterday,
isTomorrow,
format,
addYears,
addMonths,
addDays,
addHours,
addMinutes,
addSeconds,
addMilliseconds,
addWeeks,
subDays,
differenceInDays,
startOfDay,
startOfMonth,
endOfDay,
getDate,
getISOWeek,
isEqual,
weeksToDays,
subWeeks,
parse,
parseISO,
getDay,
} from "date-fns";
import { da } from "date-fns/locale";
let date = new Date("2022-01-03");
let date2 = new Date();
let date3 = new Date(2000, 11, 11);
/**
* 对日期进行格式化
* 支持的模式字母有:
* y:年,
* M:年中的月份(1-12),
* d:月份中的天(1-31),
* H:小时(0-23),
* h:小时(0-11),
* m:分(0-59),
* s:秒(0-59),
* q:季度(1-4)
* w:be年的第几周
*/
console.log(format(date, "yyyy-MM-dd HH:mm:ss q w"));
// 返回周几 周一返回的是1,周六是6,国外第一天是周日,所以0 是周日
const arr = [
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
];
console.log(getDay(date2));
console.log(arr[getDay(date2)]);
// 判断传入日期是否为今天 isToday(date: number | Date): boolean
console.log(isToday(date));
console.log(isToday(67));
// 判断传入日期是否为昨天
console.log(isYesterday(date));
// 判断是否为明天
console.log(isTomorrow(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
// 数字为1970-01-01 08:00:00的毫秒
console.log(format(60000, "yyyy-MM-dd HH:mm:ss")); //1970-01-01 08:01:00
// 获得第n天之后的日期;
console.log(format(addDays(date, 1), "yyyy-MM-dd HH:mm:ss"));
// 获得第n天之前的日期;
console.log(format(subDays(date, 1), "yyyy-MM-dd HH:mm:ss"));
// 相差的天数,前面是开始日期,后面是结束日期,后面日期大,返回负值
console.log(differenceInDays(new Date("2022-10-20"), new Date("2022-10-21")));
// 返回当天的零点 2022-10-28 00:00:00
console.log(format(startOfDay(date), "yyyy-MM-dd HH:mm:ss"));
// 返回当天的结束时间 2022-10-28 23:59:59
console.log(format(endOfDay(date), "yyyy-MM-dd HH:mm:ss"));
// 返回当月的零点 2022-10-28 00:00:00
console.log(format(startOfMonth(date), "yyyy-MM-dd HH:mm:ss"));
// 获取日期的的日
console.log(getDate(date));
// 返回传入时间所在月份的第几周.
console.log(getISOWeek(date));
// 判断传入的时间是否相等
console.log(isEqual(date, new Date("2022-10-29")));
// 获取n周前的日期
console.log(format(subWeeks(date, 1), "yyyy-MM-dd"));
// 转换为日期
console.log("================");
console.log(
format(parse("2022-10-22", "yyyy-MM-dd", new Date()), "yyyy-MM-dd q")
);
世界上没有什么事情是跑步解决不了的,如果有,那就再跑一会!