> 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/ja/rifarensu/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**

**対応する祝日と特別な日**

* **クリスマス：** クリスマスイブ、クリスマス当日、ボクシングデー、正教会のクリスマス
* **復活祭：** 聖金曜日、聖土曜日、復活祭の日曜日、復活祭の月曜日、正教の聖金曜日、正教の復活祭
* **新年：** 大晦日、元日、旧暦の大晦日、旧正月
* **ラマダン：** ラマダン（開始）、ラマダン終了
* **ハヌカ：** ハヌカ（始まり）、ハヌカの終わり
* **その他の日：** バレンタインデー、ハロウィン、感謝祭 (米国)、ブラック フライデー

これらの名前は、日付があなたの国の祝日であるかどうかに関係なく、計算に使用できます。

### **2つの日付間の期間を求める**

```
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 %}

### 2つの日付間の包括的な時間間隔 <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` を使用することもできます。

### 2つの日付の中間点を見つける

```
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` は 4 桁の年を表します。

[NSDateFormatter.com](https://www.nsdateformatter.com) にアクセスして書式記号を学び、独自のパターンを試してください。

## カレンダー計算における曖昧さに関する注意点

**曖昧な月**

日や週とは異なり、月は秒単位で明確に定義されていません。Soulverは、与えられた式に基づいて最も論理的な処理を試みます。うるう年やその他のカレンダーの特異点を考慮するのが得意です:

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

**年が指定されていない日付**

年が指定されていない日付は、現在の年または翌年のいずれかを使用する場合があります。

```
# In December 2019

// next year is assumed, as the nearest January is in the future
January 12 + 3 weeks | 2 February 2020

// this year is assumed, as the month is still recently in the past
November 1 - 5 days  | 27 October 2019
```
