// 自定义匹配器 import { Year, Now, Timestamp, Second, Minute, Hour, Day, DayOfWeek, Month, GetDate, DateTimeValue, Age, AgeOfNow, DateAdd, MonthAdd, YearAdd, DateDiff, HourDiff, MinuteDiff, SecondDiff, MonthDiff, YearDiff, DateText, IsToday, } from '../../../src/common/time/index'; export * from '../../setup'; describe.skip('time', () => { // 获取现在时间 test('test Now function', async () => { expect(Now()).toBeTruthy(); expect(Now()).isNumber(); }); // 获取时间戳 test('test Timestamp function', async () => { expect(Timestamp(1661334203345)).toEqual(1661334203345); expect(Timestamp('2011-07-02')).toEqual(1309536000000); expect(Timestamp(new Date('2011-07-02'))).toEqual(1309564800000); expect(Timestamp('帅哥')).not.toBeTruthy(); }); // 获取秒数 test('test Second function', async () => { expect(Second(1661334203345)).toEqual(23); expect(Second('2011-07-02 12:12:48')).toEqual(48); expect(Second('2011-07-02')).toEqual(0); expect(Second(new Date('2011-07-02'))).toEqual(0); expect(Second(new Date('2011-07-02 12:12:32'))).toEqual(32); expect(Second('帅哥')).not.toBeTruthy(); }); // 获取分钟数 test('test Minute function', async () => { expect(Minute(1661334203345)).toEqual(43); expect(Minute('2011-07-02 12:12:48')).toEqual(12); expect(Minute('2011-07-02')).toEqual(0); expect(Minute(new Date('2011-07-02'))).toEqual(0); expect(Minute(new Date('2011-07-02 12:22:32'))).toEqual(22); expect(Minute('帅哥')).not.toBeTruthy(); }); // 获取小时数 test('test Hour function', async () => { expect(Hour(1661334203345)).toEqual(17); expect(Hour('2011-07-02 13:12:48')).toEqual(13); expect(Hour('2011-07-02')).toEqual(0); expect(Hour(new Date('2011-07-02'))).toEqual(8); expect(Hour(new Date('2011-07-02 12:22:32'))).toEqual(12); expect(Hour('帅哥')).not.toBeTruthy(); }); // 获取天数 test('test Day function', async () => { expect(Day(1661334203345)).toEqual(24); expect(Day('2011-07-02 13:12:48')).toEqual(2); expect(Day('2011-7-2 13:12:48')).toEqual(2); expect(Day('2011-07-02')).toEqual(2); expect(Day(new Date('2011-07-02'))).toEqual(2); expect(Day(new Date('2011-07-02 12:22:32'))).toEqual(2); expect(Day('2011-02-31')).toEqual(3); expect(Day('帅哥')).not.toBeTruthy(); }); // 获取星期数 test('test DayOfWeek function', async () => { expect(DayOfWeek(1661334203345)).toEqual(3); expect(DayOfWeek('2011-07-02 13:12:48')).toEqual(6); expect(DayOfWeek('2011-7-3 13:12:48')).toEqual(7); expect(DayOfWeek('2011-07-02')).toEqual(6); expect(DayOfWeek(new Date('2011-07-02'))).toEqual(6); expect(DayOfWeek(new Date('2011-07-02 12:22:32'))).toEqual(6); expect(DayOfWeek('2011-02-31')).toEqual(4); }); // 获取月数 test('test Month function', async () => { expect(Month(1661334203345)).toEqual(8); expect(Month('2011-07-02 13:12:48')).toEqual(7); expect(Month('2011-7-3 13:12:48')).toEqual(7); expect(Month('2011-07-02')).toEqual(7); expect(Month(new Date('2011-07-02'))).toEqual(7); expect(Month(new Date('2011-07-02 12:22:32'))).toEqual(7); expect(Month('2011-02-31')).toEqual(3); expect(Month('帅哥')).not.toBeTruthy(); }); // 获取年份 test('test Year function', async () => { expect(Year(1661334203345)).toEqual(2022); expect(Year('2011-07-02')).toEqual(2011); expect(Year(new Date('2011-07-02'))).toEqual(2011); expect(Timestamp('帅哥')).not.toBeTruthy(); }); // 使用年月日创建日期时间 test('test GetDate function', async () => { expect(GetDate(2011, 7, 2)).toEqual(1309536000000); }); // 使用时间戳创建日期时间 // test('test DateTime function', async () => { // expect(DateTime(1661334203345)).not.toEqual(new Date(2011, 6, 2)); // expect(DateTime(1309536000000)).toEqual(new Date(2011, 6, 2)); // expect(DateTime(1309536000)).toEqual(new Date(2011, 6, 2)); // }); // 使用时间日期文本创建日期时间 test('test DateTimeValue function', async () => { expect(DateTimeValue('2011-07-02', 'YYYY:MM:DD')).toEqual(1309536000000); expect(DateTimeValue('2011-7-3 13:12:48', 'YYYY-MM-DD HH:mm:ss')).toEqual(1309669968000); expect(DateTimeValue('帅哥', '帅哥')).not.toBeTruthy(); }); // 计算年龄 test('test Age function', async () => { expect(Age(new Date('2011-07-02'), new Date('2011-07-02'))).toEqual(0); expect(Age(new Date(2011, 6, 2), new Date('2012-08-02'))).toEqual(1); expect(Age(new Date('2012-08-02'), new Date('2011-08-02'))).toEqual(0); expect(Age('帅哥', '帅哥')).not.toBeTruthy(); }); // 计算当前年龄 test.only('test AgeOfNow function', async () => { // expect(AgeOfNow(new Date(1980, 3, 24))).toEqual(Age(new Date(1980, 3, 24), Now())); // expect(AgeOfNow(new Date(2012, 1, 1))).toEqual(Age(new Date(2012, 1, 1), Now())); // expect(AgeOfNow(new Date('2012-08-02'))).toEqual(Age(new Date('2012-08-02'), Now())); expect(AgeOfNow(GetDate(2012, 1, 1))).toEqual(11); }); // 增加 X 天 test('test DateAdd function', async () => { expect(DateAdd(1309536000000, 1)).toEqual(1309622400000); expect(DateAdd(new Date(1980, 3, 24), -1)).toEqual(325267200000); expect(DateAdd(1309669968000, 1)).toEqual(1309756368000); expect(DateAdd('帅哥', 1)).not.toBeTruthy(); }); // 增加 X 月 test('test MonthAdd function', async () => { expect(MonthAdd(1309536000000, 1)).toEqual(1312214400000); expect(MonthAdd(new Date(1980, 3, 24), -1)).toEqual(322675200000); expect(MonthAdd(1309669968000, 1)).toEqual(1312348368000); expect(MonthAdd('帅哥', 1)).not.toBeTruthy(); }); // 增加 X 年 test('test YearAdd function', async () => { expect(YearAdd(1309536000000, 1)).toEqual(1341158400000); expect(YearAdd(1309669968000, -1)).toEqual(1278133968000); expect(MonthAdd('帅哥', 1)).not.toBeTruthy(); }); // 天数差 test('test DateDiff function', async () => { expect(DateDiff(new Date(1980, 3, 24), new Date(1981, 3, 25))).toEqual(366); expect(DateDiff(new Date(1980, 3, 24), new Date(1980, 3, 25))).toEqual(1); expect(DateDiff(new Date(1980, 3, 26), new Date(1980, 3, 25))).toEqual(-1); }); // 小时差 test('test HourDiff function', async () => { expect(HourDiff(new Date(1980, 3, 24), new Date(1981, 3, 25))).toEqual(8784); expect(HourDiff(new Date(1980, 3, 24), new Date(1980, 3, 25))).toEqual(24); expect(HourDiff(new Date(1980, 3, 26, 13, 12, 48), new Date(1980, 3, 26, 12, 12, 48))).toEqual(-1); }); // 分钟差 test('test MinuteDiff function', async () => { expect(MinuteDiff(new Date(1980, 3, 24), new Date(1981, 3, 25))).toEqual(527040); expect(MinuteDiff(new Date(1980, 3, 24), new Date(1980, 3, 25))).toEqual(1440); expect(MinuteDiff(new Date(1980, 3, 26, 13, 12, 48), new Date(1980, 3, 26, 12, 12, 48))).toEqual(-60); }); // 秒数差 test('test SecondDiff function', async () => { expect(SecondDiff(new Date(1980, 3, 24), new Date(1981, 3, 25))).toEqual(31622400); expect(SecondDiff(new Date(1980, 3, 24), new Date(1980, 3, 25))).toEqual(86400); expect(SecondDiff(new Date(1980, 3, 26, 13, 12, 48), new Date(1980, 3, 26, 12, 12, 48))).toEqual(-3600); }); // 月数差 test('test MonthDiff function', async () => { expect(MonthDiff(new Date(1980, 3, 24), new Date(1981, 3, 25))).toEqual(12); expect(MonthDiff(new Date(1980, 2, 24), new Date(1980, 3, 25))).toEqual(1); expect(MonthDiff(new Date(1980, 3, 26, 13, 12, 48), new Date(1980, 2, 26, 12, 12, 48))).toEqual(-1); }); // 年数差 test('test YearDiff function', async () => { expect(YearDiff(new Date(1980, 3, 24), new Date(1981, 3, 25))).toEqual(1); expect(YearDiff(new Date(1981, 3, 26, 13, 12, 48), new Date(1980, 2, 26, 12, 12, 48))).toEqual(-1); }); // 日期时间格式化 test('test DateText function', async () => { expect(DateText(1309536000000, 'YYYY-MM-DD HH:mm:ss')).toEqual('2011-07-02 00:00:00'); expect(DateText(1309669968000, 'YYYY-MM-DD HH:mm:ss')).toEqual('2011-07-03 13:12:48'); }); // 是否为今天 test('test IsToday function', async () => { expect(IsToday(1309669968000)).toEqual(false); expect(IsToday(1309536000000)).toEqual(false); }); });