# caldate

> Calendar date for date-holidays

Latest version **2.0.5** (published 2023-05-11) · ISC license · 0 weekly downloads

## Install

```sh
npm install caldate
pnpm add caldate
yarn add caldate
bun add caldate
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.5 |
| Published | 2023-05-11 |
| First published | 2016-05-19 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=12.0.0 |
| Dependencies | 1 |
| Unpacked size | 21.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | commenthol |
| Maintainers | commenthol |
| Keywords | calendar, date |

## Links

- npm: https://www.npmjs.com/package/caldate
- Repository: https://github.com/commenthol/caldate
- Issues: https://github.com/commenthol/caldate/issues
- npm.io page: https://npm.io/package/caldate

## Dependencies (1)

- [moment-timezone](https://npm.io/package/moment-timezone.md) ^0.5.43

## Alternatives

- [@js-joda/timezone](https://npm.io/package/@js-joda/timezone.md) — 383.4K weekly downloads
- [chartjs-adapter-moment](https://npm.io/package/chartjs-adapter-moment.md) — 210.8K weekly downloads
- [strftime](https://npm.io/package/strftime.md) — 171.2K weekly downloads
- [vue-flatpickr-component](https://npm.io/package/vue-flatpickr-component.md) — 115.8K weekly downloads
- [timepicker](https://npm.io/package/timepicker.md) — 51.0K weekly downloads

## Recent versions

- 2.0.5 (latest) — 2023-05-11
- 2.0.0-0 (next) — 2021-02-13
- 2.0.4 — 2022-11-20
- 3.0.0-0 — 2022-10-12
- 2.0.3 — 2022-05-21
- 2.0.2 — 2021-12-28
- 2.0.1 — 2021-05-22
- 2.0.0 — 2021-03-27
- 1.1.1 — 2021-02-13
- 1.1.0 — 2019-11-19
- 1.0.3 — 2018-12-22
- 1.0.2 — 2018-04-14
- 1.0.1 — 2018-04-14
- 1.0.0 — 2016-05-19

## README

# caldate

> calendar date for date-holidays

[![NPM version](https://badge.fury.io/js/caldate.svg)](https://www.npmjs.com/package/caldate/)
[![Build Status](https://github.com/commenthol/caldate/workflows/CI/badge.svg?branch=master&event=push)](https://github.com/commenthol/caldate/actions/workflows/ci.yml?query=branch%3Amaster)


## Table of Contents

<!-- !toc (minlevel=2 omit="Table of Contents") -->

* [Class: CalDate](#class-caldate)
  * [new CalDate(opts)](#new-caldateopts)
  * [CalDate.set(opts)](#caldatesetopts)
  * [CalDate.isEqualDate(calDate)](#caldateisequaldatecaldate)
  * [CalDate.getDay()](#caldategetday)
  * [CalDate.setOffset(number, unit)](#caldatesetoffsetnumber-unit)
  * [CalDate.setTime(hour, minute, second)](#caldatesettimehour-minute-second)
  * [CalDate.setDuration(duration)](#caldatesetdurationduration)
  * [CalDate.update()](#caldateupdate)
  * [CalDate.toEndDate()](#caldatetoenddate)
  * [CalDate.toTimezone(timezone)](#caldatetotimezonetimezone)
  * [CalDate.toDate()](#caldatetodate)
  * [CalDate.toISOString()](#caldatetoisostring)
  * [CalDate.toString()](#caldatetostring)
* [Contribution and License Agreement](#contribution-and-license-agreement)
* [License](#license)
* [References](#references)

<!-- toc! -->

## Class: CalDate

### new CalDate(opts)

constructs a new CalDate instance

**Parameters**

**opts**: `Object | Date`, See `set(opts)`


**Example**:
```js
// ES5
import CalDate from 'caldate'
// cjs
const CalDate = require('caldate')

const caldate = new CalDate('2000-01-01 12:00:00')
caldate.year
//> 2000
caldate.month
//> 1
```

### CalDate.set(opts)

set calendar date

**Parameters**

**opts**: `Object | Date`, defaults to `1900-01-01`

**opts.year**: `String`, set calendar date

**opts.month**: `String`, January equals to 1, December to 12

**opts.day**: `String`, set calendar date

**opts.hour**: `String`, set calendar date

**opts.minute**: `String`, set calendar date

**opts.second**: `String`, set calendar date

**opts.duration**: `String`, defaults to 24 hours


### CalDate.isEqualDate(calDate)

checks if Date is equal to `calDate`

**Parameters**

**calDate**: `CalDate`, checks if Date is equal to `calDate`

**Returns**: `Boolean`, true if date matches

### CalDate.getDay()

get day of week

**Returns**: `Number`, day of week 0=sunday, 1=monday, ...

### CalDate.setOffset(number, unit)

set offset per unit

**Parameters**

**number**: `Number`, set offset per unit

**unit**: `String`, Unit in days `d`, hours `h, minutes `m`

**Returns**: `Object`, this

### CalDate.setTime(hour, minute, second)

set time per hour, minute or second while maintaining duration at midnight

**Parameters**

**hour**: `Number`, set time per hour, minute or second while maintaining duration at midnight

**minute**: `Number`, set time per hour, minute or second while maintaining duration at midnight

**second**: `Number`, set time per hour, minute or second while maintaining duration at midnight

**Returns**: `Object`, this

### CalDate.setDuration(duration)

set duration in hours

**Parameters**

**duration**: `Number`, in hours

**Returns**: `Object`, this

### CalDate.update()

update internal data to real date

**Returns**: `Object`, this

### CalDate.toEndDate()

get end date of calendar date

**Returns**: `CalDate`

### CalDate.toTimezone(timezone)

move internal date to a date in `timezone`

**Parameters**

**timezone**: `String`, e.g. 'America/New_York'

**Returns**: `Date`

### CalDate.fromTimezone(dateUTC, timezone)

set date from a given `timezone`

**Parameters**

**dateUTC**: `Date`, date in UTC

**timezone**: `String`, timezone of dateUTC, e.g. 'America/New_York'

**Returns**: `CalDate` self

### CalDate.toDate()

convert to Date

**Returns**: `Date`

### CalDate.toISOString()

get Date in ISO format


### CalDate.toString()

get Date as String `YYYY-MM-DD HH:MM:SS`


## Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your
code to be distributed under the ISC license. You are also implicitly
verifying that all code is your original work or correctly attributed
with the source of its origin and licence.

## License

Copyright (c) 2016 commenthol ([ISC License](http://opensource.org/licenses/ISC))

See [LICENSE][] for more information.

## References

<!-- !ref -->

* [LICENSE][LICENSE]

<!-- ref! -->

[LICENSE]: ./LICENSE

---
_Source: https://npm.io/package/caldate · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
