calendarize 一个很小的(204B)实用程序,用于生成日历视图(calendarized 中文)

网友投稿 956 2022-10-12

calendarize 一个很小的(204B)实用程序,用于生成日历视图(calendarized 中文)

calendarize  一个很小的(204B)实用程序,用于生成日历视图(calendarized 中文)

A tiny (204B) utility to generate calendar views.

This function (optionally) accepts a date in exchange for a calendar view of that date's month.

The output contains no labels! This is ideal for calendar generator because it allows the developer to easily customize their labels, including full i18n/internationalization support! (Demo)

Additionally, this module is delivered as:

ES Module: dist/calendarize.mjsCommonJS: dist/calendarize.jsUMD: dist/calendarize.min.js

Install

$ npm install --save calendarize

Usage

via Date Instance

import calendarize from 'calendarize';// Week = [Sun, Mon, Tue, Wed, Thu, Fri, Sat]const view = calendarize(new Date('2019-12-20'));//=> [//=> [ 1, 2, 3, 4, 5, 6, 7],//=> [ 8, 9, 10, 11, 12, 13, 14],//=> [15, 16, 17, 18, 19, 20, 21],//=> [22, 23, 24, 25, 26, 27, 28],//=> [29, 30, 31, 0, 0, 0, 0],//=> ]

via Date String

import calendarize from 'calendarize';// Week = [Sun, Mon, Tue, Wed, Thu, Fri, Sat]const view = calendarize('Nov 01, 2019');//=> [//=> [ 0, 0, 0, 0, 0, 1, 2],//=> [ 3, 4, 5, 6, 7, 8, 9],//=> [10, 11, 12, 13, 14, 15, 16],//=> [17, 18, 19, 20, 21, 22, 23],//=> [24, 25, 26, 27, 28, 29, 30],//=> ]

with Weeks starting on Monday

Note: Uses the offset parameter.

import calendarize from 'calendarize';// Week = [Mon, Tue, Wed, Thu, Fri, Sat, Sun]const view = calendarize('Nov 01, 2019', 1);//=> [//=> [ 0, 0, 0, 0, 1, 2, 3],//=> [ 4, 5, 6, 7, 8, 9, 10],//=> [11, 12, 13, 14, 15, 16, 17],//=> [18, 19, 20, 21, 22, 23, 24],//=> [25, 26, 27, 28, 29, 30, 0],//=> ]

API

calendarize(date?, offset?)

Returns: Array

An Array of Week Arrays is returned.

Each Week is an Array of 7 numbers, wherein each index is the Day of the week and each value is the numerical date. The index is forwarded from Date.getDay, which means that index: 0 is Sunday.

Important: A value of zero (0) represents a date that exists beyond the current month view.

date

Type: string | number | Date Default: new Date() – aka, today

The date you want to process.

Important: Your string|number value will be cast to a Date object, which means Node.js may apply incorrect timezone!

offset

Type: number Default: 0

A positive or negative day offset to modify which day of the week the calendar should start. This offset is relative to Sunday – so, by default, an offset of 0 will mean that your Weeks will start on Sundays.

Note: Some parts of the globe expect calendars to start on Sunday, Saturday, or Monday: see map

Example Offsets

Monday: 1Tuesday: 2...Friday: 5 or -2Saturday: 6 or -1

If you use offset: 1, this means you want the Weeks to start on Monday. In turn, the 0th value of each Week array will be Monday's date.

// The first week of Jan 2020:// start = Sunday (default)calendarize('Jan 01, 2020');// => [[0, 0, 0, 1, 2, 3, 4], ...]// (days: [S, M, T, W, T, F, S])// start = Monday (offset: 1)calendarize('Jan 01, 2020', 1);// => [[0, 0, 1, 2, 3, 4, 5], ...]// (days: [M, T, W, T, F, S, S])

License

MIT © Luke Edwards

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:用 QuestPDF操作生成PDF更快更高效!
下一篇:【服务器】Nginx文件配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~