> For the complete documentation index, see [llms.txt](https://documentation.soulver.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.soulver.app/ru/spravochnik-po-sintaksisu/dates/dates-and-times.md).

# Расчеты дат

Больше не нужно считать дни по календарю!

### Добавление или вычитание времени из дат

```
10 June + 3 weeks                     | 1 July
April 1, 2019 − 3 months 5 days       | 27 December 2018

12/02/1988 + 32 years                 | 12 February 2020
01.05.2005 + 3 years 2 months 3 weeks | 22 July 2008

3 weeks after March 14, 2019          | 4 April 2019
28 days before March 12               | 12 February
2 months 3 days after June 5          | 8 August

yesterday - 8 weeks 3 days            | 12 July
Yesterday + 1 week                    | 11 June
```

### Получение даты относительно настоящего момента

```
today + 3 weeks | 1 October
now − 1 month   | 5 May

4 days from now | 14 September
3 days ago      | 7 September
```

### Расчеты с именными праздниками

В вычислениях с датами можно использовать названия праздников. Например, `days until Christmas` считает дни до Рождества.

Для праздников, даты которых меняются каждый год, укажите год, чтобы найти дату:

`Easter 2027` → **March 28, 2027**

**Поддерживаемые праздники и особые даты**

* **Рождество:** Сочельник, Рождество, День подарков, Православное Рождество
* **Пасха:** Страстная пятница, Великая суббота, Пасхальное воскресенье, Пасхальный понедельник, Православная Страстная пятница, Православная Пасха
* **Новый год:** Канун Нового года, Новый год, Канун китайского Нового года, Китайский Новый год
* **Рамадан:** Рамадан (начало), Конец Рамадана
* **Ханука:** Ханука (начало), Конец Хануки
* **Другие даты:** День святого Валентина, Хэллоуин, День Благодарения (США), Черная пятница

Эти названия можно использовать в вычислениях независимо от того, являются ли соответствующие даты государственными праздниками в вашей стране.

### **Найти количество времени между двумя датами**

```
January 10 - February 5         | 3 weeks 5 days

3 March to 30 May               | 2 months 3 weeks 6 days

days since July 15              | 57 days
days till December 25           | 106 days
days between 3 March and 30 May | 88 days

1978 to 2021                    | 42 years

```

{% hint style="info" %}
Интервалы времени рассчитываются с полудня первой даты до полудня последней даты в интервале.

Используйте функцию инклюзивного интервала, если вы хотите включить как начальную, так и конечную дату в интервал (см. [ниже](#inclusive-intervals-of-time-1))
{% endhint %}

### Инклюзивные интервалы времени между двумя датами <a href="#inclusive-intervals-of-time" id="inclusive-intervals-of-time"></a>

```
April 1 through April 30 in days | 30 days
```

### Номера недель (ISO 8601)

```
week of year                  | 36
week number on march 12, 2021 | 10
```

### Получение частей свидания

Найдите положение даты в году или месяце:

`day number on March 15, 2024` → **75**

`day of month on March 15, 2024` → **15**

Без даты `day of year` и `day of month` используют сегодняшний день.

### **Сколько дней в месяце или квартале**

```
days in Q3            | 92 days
days in February 2020 | 29 days
```

### Сколько года прошло?

Введите `year percentage`, чтобы узнать, какая часть текущего года уже прошла, в процентах.

Для текущего месяца, недели или дня можно также использовать `month percentage`, `week percentage` или `day percentage`.

### Найти середину между двумя датами

```
midpoint between March 12 and April 5   | 24 March
halfway between today and next Thursday | 13 September
```

### Форматирование дат

Используйте шаблон формата, чтобы задать отображение даты:

`March 12, 2023 as EEEE, MMM d, yyyy` → **Sunday, Mar 12, 2023**

Здесь `EEEE` соответствует названию дня недели, `MMM` — сокращенному месяцу, `d` — дню месяца, а `yyyy` — четырехзначному году.

Посетите [NSDateFormatter.com](https://www.nsdateformatter.com), чтобы изучить символы форматирования и попробовать собственные шаблоны.

## Примечания о неоднозначности в расчетах по календарю

**Неоднозначные месяцы**

В отличие от дней и недель, месяцы не определены четко с точки зрения секунд. Soulver пытается сделать самое логичное предположение, исходя из выражения. Он умело учитывает високосные годы и другие особенности календаря:

```
Feb 28 + 1 month          | 28 March
January 31 2020 + 1 month | February 29 2020
```

**Даты с неуказанными годами**

Дата без указания года может использовать либо текущий год, либо следующий год.

```
# В декабре 2019

// предполагается следующий год, так как ближайший январь в будущем
January 12 + 3 weeks | 2 February 2020

// предполагается текущий год, так как месяц еще недавно был в прошлом
November 1 - 5 days  | 27 October 2019
```
