# date-refresher

> tiny library for changing dates

Latest version **1.0.2** (published 2025-01-14) · ISC license · 0 weekly downloads

## Install

```sh
npm install date-refresher
pnpm add date-refresher
yarn add date-refresher
bun add date-refresher
```

## Health

**Score 25/100 (F)** — status: maintenance-mode.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2025-01-14 |
| First published | 2021-02-08 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 17 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | procontext |
| Maintainers | extreme_voice, procontext, richard-08, gordeev_vladislav |

## Links

- npm: https://www.npmjs.com/package/date-refresher
- npm.io page: https://npm.io/package/date-refresher

## Recent versions

- 1.0.2 (latest) — 2025-01-14
- 1.0.1 — 2021-02-08
- 1.0.0 — 2021-02-08

## README

# Date Refresher
**Скрипт для управления временем на лендингах**

## Как использовать?
#### Установить через npm
```
npm install date-refresher --save
yarn add date-refresher --save
```

#### Импортировать
```
import DateRefresher from 'date-refresher';
const DateRefresher = require('date-refresher');
```

## API

### Автоматическое обновление таймера по заданному интервалу
```
updateByInterval(start_string, days, refresh_time)
```


свойство      | значение                      | тип    | формат       | по умолчанию |
--------------|-------------------------------|--------|--------------|--------------|
start_string  | дата начала отсчета           | String | '04.02.2021' | null         |
days          | дней до следующего обновления | Number | 9            | null         |
refresh_time  | время обновления таймера      | String | '13:00'      | '23:59'      |


```
const end_time = DateRefresher.updateByInterval('19.02.2021', 2, '20:00');
```
**Примечание.**
Если start_string содержит дату, которая наступит только через несколько дней, таймер сперва считается старта, а затем по интервалу. Например, сегодня 20 февраля, дата начала отсчета таймера - 23 февраля, интервал - каждые пять дней.
Изначально таймер установится до 23 февраля, затем - до 28 февраля, затем - до 5 марта и так далее.



### Автоматическое обновление таймера в день недели
```
updateOnWeekDay(start_string, week_day, refresh_time)
```
свойство      | значение                      | тип    | формат       | по умолчанию |
--------------|-------------------------------|--------|--------------|--------------|
start_string  | дата начала отсчета           | String | '04.02.2021' | null         |
week_day      | день обновления               | Number | 1..7         | null         |
refresh_time  | время обновления таймера      | String | '13:00'      | '23:59'      |

```
const end_time = DateRefresher.updateOnWeekDay('04.03.2021', 2, '13:00');
```
**Примечание.**
week_day необходимо устанавливать в натуральном формате. То есть воскресенье будет 7, а не 0.

### Автоматическое обновление таймера в определенное число месяца
```
updateOnMonthDay(day, refresh_time)
```
свойство      | значение                      | тип    | формат       | по умолчанию |
--------------|-------------------------------|--------|--------------|--------------|
week_day      | число обновления              | Number | 1..28-31     | null         |
refresh_time  | время обновления таймера      | String | '13:00'      | '23:59'      |

```
const end_time = DateRefresher.updateOnMonthDay(15, '13:00');
```
**Примечание.** Если установленного числа нет в месяца, то таймер автоматически изменит его. Например, вы хотите, чтобы таймер обновлялся 31 числа, но в феврале всего 28 дней. В феврале таймер переключится на 28.

### Автоматическое обновление таймера в первое число месяца
```
updateOnFirstDayOfMonth(month)
```
свойство      | значение                      | тип    | формат       | по умолчанию  |
--------------|-------------------------------|--------|--------------|---------------|
month         | месяц обновления              | Number | 1..12        | текущий месяц |
refresh_time  | время обновления таймера      | String | '13:00'      | '23:59'       |

```
const end_time = DateRefresher.updateOnFirstDayOfMonth();
const end_time = DateRefresher.updateOnFirstDayOfMonth(12);
const end_time = DateRefresher.updateOnFirstDayOfMonth(12, '13:00');
```

### Автоматическое обновление таймера в последнее число месяца
```
updateOnLastDayOfMonth(month)
```
свойство      | значение                      | тип    | формат       | по умолчанию  |
--------------|-------------------------------|--------|--------------|---------------|
month         | месяц обновления              | Number | 1..12        | текущий месяц |
refresh_time  | время обновления таймера      | String | '13:00'      | '23:59'       |

```
const end_time = DateRefresher.updateOnLastDayOfMonth();
const end_time = DateRefresher.updateOnLastDayOfMonth(12);
const end_time = DateRefresher.updateOnLastDayOfMonth(12, '13:00');
```

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