npm package for getting week information.
Table of contents:
Install with npm:
$ npm install --save @alezhu/weexconst {Week} = require('@alezhu/weex');
const week = new Week(1, 2023);
const firstDate = week.FirstDate;
console.log(firstDate);
//=> 2023-01-01T21:00:00.000Z for Moscow
//=> 2023-01-02T00:00:00.000Z for UTCimport {Week} from '@alezhu/weex';
const week = new Week(1, 2023);
const firstDate = week.FirstDate;
console.log(firstDate);
//=> 2023-01-01T21:00:00.000Z for Moscow
//=> 2023-01-02T00:00:00.000Z for UTCimport {Week} from '@alezhu/weex';
const week = new Week(1, 2023);
const firstDate = week.FirstDate;
console.log(firstDate);
//=> 2023-01-01T21:00:00.000Z for Moscow
//=> 2023-01-02T00:00:00.000Z for UTCWeek(value:int, year ? : int)Create instance of Week
Parameters:
- value - week number per year [1..N], N = 53 for leap year, 52 is other cases. First week in year is week with first thursday
- year - full year (e.g. 2023, 1978 etc.). Optional. If omitted then used current year
Usage example:
const week = new Week(1, 2020);get firstDate(): Date
get FirstDate(): DateReturns first date (Date) of week (monday). Time in returned date is 00:00:00.000
Usage example:
const week = new Week(1, 2020);
const date = week.firstDate; // 2019-12-30T00:00:00.000Zget lastDate(): Date
get LastDate(): DateReturns last date (Date) of week (sunday). Time in returned date is 23:59:59.999
Usage example:
const week = new Week(1, 2020);
const date = week.lastDate; // 2020-01-05T23:59:59.999ZcompareTo(other: Week): numberCompares this week chronologically with another week. Returns negative if earlier, positive if later, 0 if equal.
Usage example:
const w1 = new Week(10, 2023);
const w2 = new Week(12, 2023);
w1.compareTo(w2); //=> -2contains(date: Date): booleanChecks if a given date falls within this week.
Usage example:
const week = new Week(1, 2024);
week.contains(new Date(2024, 0, 3)); //=> trueequals(other: Week): booleanChecks if this week equals another week.
Usage example:
w1.equals(w2); //=> falsegetDays(): Date[]Returns an array of all 7 dates (Monday through Sunday) for this week.
Usage example:
const days = week.getDays(); //=> [Mon, Tue, Wed, Thu, Fri, Sat, Sun]isBefore(other: Week): boolean
isAfter(other: Week): booleanChecks if this week is strictly before or after another week.
prev(): Week
next(): WeekReturns previous or next week instance.
toDateRange(): { start: Date, end: Date }Returns the date range of the week (start Monday 00:00:00.000 to end Sunday 23:59:59.999).
toISOString(): stringReturns ISO 8601 week string representation (e.g. "2024-W05").
toString(): stringReturns week string representation in "YYYY.WW" format (e.g. "2024.05").
static current(): Week
static now(): WeekReturns Week instance for the current date.
static from(week: number | string | Date | Week): WeekReturns Week instance for passed value.
Parameters:
week- If passed
Weekinstance, returns it directly. - If passed
Dateobject, detects ISO week number. - If passed
number, treats as week number of current year. - If passed
string:- Parsed as week number,
"YYYY-WW","YYYY-Www","Www.YYYY", or"WW-YYYY".
- Parsed as week number,
- If passed
Usage example:
const currentWeek = Week.from(new Date());
const week35 = Week.from(35);
const weekIso = Week.from('2024-W05');
const weekCustom = Week.from('W22.2019');static getWeekNumber(dDate: Date): WeekInfoReturns WeekInfo object {week: int, year: int} for passed date.
static getWeeksInYear(year: number): numberReturns total number of ISO weeks in a given year (52 or 53).
static getWeekStartDate(weekOrWeekInfo: WeekInfo | Week | number, year?: number): DateReturns week start date (Monday 00:00:00.000) for specified week.
static prev(value: number | string | Date | Week): Week
static next(value: number | string | Date | Week): WeekReturns previous or next week for passed week value.