1
0
mirror of synced 2025-12-12 16:18:02 +08:00

v1.3.0 彻底抛弃js原生Date。

This commit is contained in:
6tail
2023-02-03 12:50:17 +08:00
parent 1fd780f3c4
commit f4e6fa3c9a
3 changed files with 701 additions and 365 deletions

View File

@@ -1,4 +1,4 @@
var {SolarUtil} = require('../lunar'); var {SolarUtil, Solar} = require('../lunar');
test('isLeapYear()', () => { test('isLeapYear()', () => {
expect(SolarUtil.isLeapYear(2020)).toBe(true); expect(SolarUtil.isLeapYear(2020)).toBe(true);
@@ -11,59 +11,59 @@ test('getDaysOfMonth()', () => {
}); });
test('addDays', () => { test('addDays', () => {
var ymd = SolarUtil.addDays(2022,1,1, 1); var solar = Solar.fromYmd(2022,1,1).next(1);
expect(ymd.year).toBe(2022); expect(solar.getYear()).toBe(2022);
expect(ymd.month).toBe(1); expect(solar.getMonth()).toBe(1);
expect(ymd.day).toBe(2); expect(solar.getDay()).toBe(2);
}); });
test('addDays2', () => { test('addDays2', () => {
var ymd = SolarUtil.addDays(2022,1,31, 1); var solar = Solar.fromYmd(2022,1,31).next(1);
expect(ymd.year).toBe(2022); expect(solar.getYear()).toBe(2022);
expect(ymd.month).toBe(2); expect(solar.getMonth()).toBe(2);
expect(ymd.day).toBe(1); expect(solar.getDay()).toBe(1);
}); });
test('addDays3', () => { test('addDays3', () => {
var ymd = SolarUtil.addDays(2022,1,1, 365); var solar = Solar.fromYmd(2022,1,1).next(365);
expect(ymd.year).toBe(2023); expect(solar.getYear()).toBe(2023);
expect(ymd.month).toBe(1); expect(solar.getMonth()).toBe(1);
expect(ymd.day).toBe(1); expect(solar.getDay()).toBe(1);
}); });
test('addDays4', () => { test('addDays4', () => {
var ymd = SolarUtil.addDays(2023,1,1, -365); var solar = Solar.fromYmd(2023,1,1).next(-365);
expect(ymd.year).toBe(2022); expect(solar.getYear()).toBe(2022);
expect(ymd.month).toBe(1); expect(solar.getMonth()).toBe(1);
expect(ymd.day).toBe(1); expect(solar.getDay()).toBe(1);
}); });
test('addDays5', () => { test('addDays5', () => {
var ymd = SolarUtil.addDays(1582,10,4, 1); var solar = Solar.fromYmd(1582,10,4).next(1);
expect(ymd.year).toBe(1582); expect(solar.getYear()).toBe(1582);
expect(ymd.month).toBe(10); expect(solar.getMonth()).toBe(10);
expect(ymd.day).toBe(15); expect(solar.getDay()).toBe(15);
}); });
test('addDays6', () => { test('addDays6', () => {
var ymd = SolarUtil.addDays(1582,10,4, 18); var solar = Solar.fromYmd(1582,10,4).next(18);
expect(ymd.year).toBe(1582); expect(solar.getYear()).toBe(1582);
expect(ymd.month).toBe(11); expect(solar.getMonth()).toBe(11);
expect(ymd.day).toBe(1); expect(solar.getDay()).toBe(1);
}); });
test('addDays7', () => { test('addDays7', () => {
var ymd = SolarUtil.addDays(1582,11,1, -18); var solar = Solar.fromYmd(1582,11,1).next(-18);
expect(ymd.year).toBe(1582); expect(solar.getYear()).toBe(1582);
expect(ymd.month).toBe(10); expect(solar.getMonth()).toBe(10);
expect(ymd.day).toBe(4); expect(solar.getDay()).toBe(4);
}); });
test('addDays8', () => { test('addDays8', () => {
var ymd = SolarUtil.addDays(1582,11,1, -17); var solar = Solar.fromYmd(1582,11,1).next(-17);
expect(ymd.year).toBe(1582); expect(solar.getYear()).toBe(1582);
expect(ymd.month).toBe(10); expect(solar.getMonth()).toBe(10);
expect(ymd.day).toBe(15); expect(solar.getDay()).toBe(15);
}); });
test('getDaysBetween', () => { test('getDaysBetween', () => {
@@ -82,11 +82,11 @@ test('getDaysBetween2', () => {
}); });
test('getWeek', () => { test('getWeek', () => {
var week = SolarUtil.getWeek(1582, 10, 1); var week = Solar.fromYmd(1582, 10, 1).getWeek();
expect(week).toBe(1); expect(week).toBe(1);
}); });
test('getWeek1', () => { test('getWeek1', () => {
var week = SolarUtil.getWeek(1582, 10, 15); var week = Solar.fromYmd(1582, 10, 15).getWeek();
expect(week).toBe(5); expect(week).toBe(5);
}); });

944
lunar.js

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "lunar-javascript", "name": "lunar-javascript",
"version": "1.2.38", "version": "1.3.0",
"description": "lunar is a calendar library for Solar and Chinese Lunar.", "description": "lunar is a calendar library for Solar and Chinese Lunar.",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {