123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { DATE_TIME_FORMAT, formatDate, parseDate } from "./date";
- describe("date", () => {
- const f = (date: Date): string => formatDate(date, DATE_TIME_FORMAT);
- test("formatDate 格式化 YYYY-MM-DD HH", () => {
- const date = new Date("2012/12/12 12:12:12");
- expect(formatDate(date, "YYYY-MM-DD HH")).toBe("2012-12-12 12");
- });
- test("formatDate 兼容大小写形式, 不同的日期库有些使用 yyyy 有些 YYYY", () => {
- const date = new Date("2012/12/12 12:12:12");
- expect(formatDate(date, "YYYY-MM-DD HH:mm:ss")).toBe("2012-12-12 12:12:12");
- });
- test("parseDate 支持常见的格式", () => {
- // 常见的两种格式
- expect(f(parseDate("2012-12-12 12:12:12")!)).toBe("2012-12-12 12:12:12");
- expect(f(parseDate("2012/12/12 12:12:12")!)).toBe("2012-12-12 12:12:12");
- expect(f(parseDate("2012-1-1 12:12:12")!)).toBe("2012-01-01 12:12:12"); // 不补零形式
- expect(f(parseDate("2012-12-12T16:00:00.000Z")!)).toBe(
- "2012-12-13 00:00:00"
- );
- expect(f(parseDate("2012/1/1 12:12:12")!)).toBe("2012-01-01 12:12:12"); // 不补零形式
- // 单日期
- expect(f(parseDate("2012/12/12")!)).toBe("2012-12-12 00:00:00");
- // 日期加分钟
- expect(f(parseDate("2012/12/12 12:12")!)).toBe("2012-12-12 12:12:00");
- // 日期对象
- expect(f(parseDate(new Date("2012/12/12 12:12:12"))!)).toBe(
- "2012-12-12 12:12:12"
- );
- // 毫秒
- expect(f(parseDate(new Date("2012/12/12 12:12:12").getTime())!)).toBe(
- "2012-12-12 12:12:12"
- );
- // 自定义格式
- expect(f(parseDate("2012 12 12 12/12", "YYYY MM DD HH/mm")!)).toBe(
- "2012-12-12 12:12:00"
- );
- });
- });
|