> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 日付・時刻関数

> YiDAプラットフォームで利用可能なすべての日付・時刻関数とその使い方を解説します。日付範囲の計算やタイムスタンプから日付オブジェクトへの変換方法、日付コンポーネントの基本概念まで、フォーム設計に役立つ関数を紹介します。

本記事では、YiDAで利用可能なすべての日付・時刻関数と、使用時に発生する可能性のある問題について説明します。

## 関数一覧

| **関数**                                                  | **説明**                                                                             |
| ------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [CASCADEDATEINTERVAL](/ja/yida/form/py2n7nkaimvsypoe)   | 日付範囲ピッカーコンポーネントにおける、開始日と終了日の間の日数を計算します。                                            |
| [CASCADEDATEINTERVALV2](/ja/yida/form/blbqwhbcsa44h4tb) | 日付範囲内の2つの日付間の日数を返します。                                                              |
| [DATE](/ja/yida/form/pxp74275bikx0xvt)                  | タイムスタンプを日付オブジェクトに変換します。                                                            |
| [DATEDELTA](/ja/yida/form/tz0uzryeft12rpgw)             | 指定した日付に、指定日数を加算または減算します。                                                           |
| [DAY](/ja/yida/form/zblyusnwcvrbregn)                   | 日付の「日」を返します。                                                                       |
| [DAYBEGIN](/ja/yida/form/kuda7hpn6ru4mv2g)              | 指定した日付コンポーネントについて、時・分・秒を0に設定したタイムスタンプを返します。                                        |
| [DAYEND](/ja/yida/form/me7p9i2f32erci85)                | 指定した日付コンポーネントについて、時・分・秒を最大値に設定したタイムスタンプを返します。                                      |
| [DAYS](/ja/yida/form/acp1c60wvm7v5g5m)                  | 2つの日付の間の日数を返します。                                                                   |
| [DAYS360](/ja/yida/form/wa3hg2rs7i40eb90)               | DAYS360関数は、2つの日付の間の日数を返します。                                                        |
| [HOUR](/ja/yida/form/ly60vx00lfm5mp2r)                  | 日付の「時」を返します。                                                                       |
| [ISOWEEKNUM](/ja/yida/form/bn3zv56eunro0tzd)            | 指定した日付が、その年の第何週目にあたるかを返します。                                                        |
| [MINUTE](/ja/yida/form/vgvc4f7myfwpbqa5)                | 日付の「分」を返します。                                                                       |
| [MONTH](/ja/yida/form/obwipf12ew36n32a)                 | 日付の「月」を返します。                                                                       |
| [NETWORKDAYS](/ja/yida/form/qfwh5ivncnfg57wt)           | 指定した2つの日付の間の勤務日数を計算します。                                                            |
| [NOW](/ja/yida/form/qn4qo0ydlb2i1iz1)                   | 現在時刻を返します。TODAY関数と同じです。                                                            |
| [SECOND](/ja/yida/form/qpvcqng3gb14aww7)                | 日付の「秒」を返します。                                                                       |
| [SYSTIME](/ja/yida/form/enkgisafnaalmkl0)               | 現在のサーバー時刻を返します。                                                                    |
| [TIME](/ja/yida/form/zl268y77wk9nhwkg)                  | 特定の時刻を表す10進数を返します。                                                                 |
| [TIMESTAMP](/ja/yida/form/bmgm5sirz825ncal)             | 日付オブジェクトをタイムスタンプに変換します。主に、日付数式で生成された日付オブジェクトをタイムスタンプに変換し、日付コンポーネントに値を代入する用途で使用します。 |
| [TODAY](/ja/yida/form/vzgyog2mozwazdrk)                 | 今日の日付を返します。                                                                        |
| [WEEKNUM](/ja/yida/form/kn045dietny22f9k)               | 特定の日付の週番号を返します。                                                                    |
| [WORKDAY](/ja/yida/form/cwczglfr7liddmmw)               | 特定の日付からN勤務日後の日付を計算します。デフォルトでは週末は勤務日から除外されますが、休日を利用して勤務日をより正確に定義できます。               |
| [YEAR](/ja/yida/form/ghx7avaatnrt3gow)                  | 日付の「年」を返します。                                                                       |
| [YEARBEGIN](/ja/yida/form/whagovdhgkyy0n4k)             | 日付が属する年の初日を返します。                                                                   |
| [YEAREND](/ja/yida/form/vyck0fpn0a1kp2ty)               | 日付が属する年の末日を返します。                                                                   |

## 基本概念

**日付コンポーネント**はミリ秒単位の**タイムスタンプ**を返します。

日付関数に関連する基本概念は次の2つです。

* タイムスタンプ：タイムスタンプはコンピュータが時刻を記録する形式です。通常、ある瞬間を一意に識別する文字列で表されます。YiDAのフォームでは、日付コンポーネントはこの形式で時刻を保存します。
* 日付オブジェクト：日付オブジェクトは年・月・日・時・分・秒を表します。形式は Sat Aug 01 2015 00:00:00 GMT+0800 (China Standard Time) のようになり、北京時間の2015年8月1日 00:00:00 を意味します。日付オブジェクトは、日付の加算・減算などのさまざまな演算に対応しています。

YiDAでは、日付形式を表現するためにアルファベットがよく使用されます。各アルファベットの意味は次の表のとおりです。

| **アルファベット** | **意味**        |
| ----------- | ------------- |
| G           | 紀元            |
| y           | 年             |
| M           | 月             |
| d           | 日             |
| h           | 時（午前/午後、1〜12） |
| H           | 時（0〜23）       |
| m           | 分             |
| s           | 秒             |
| S           | ミリ秒           |
| E           | 曜日            |
| D           | 年間通算日         |
| F           | 月内の曜日出現回数     |
| w           | 年内の週番号        |
| W           | 月内の週番号        |
| a           | 午前/午後の表示      |
| k           | 時（1〜24）       |
| K           | 時（午前/午後、0〜11） |
| z           | タイムゾーン        |

例えば、パターン文字列 `yyyy-MM-dd HH:mm:ss:S E D F w W z` を使用して、現在時刻を**書式化された日付**テキストコンポーネントのデフォルト値としてフォーマットします。数式は次のように定義します。

ページの表示は次のとおりです。

## FAQ

* Q1：数式を使用して現在の日付を取得するにはどうすればよいですか？

A：フォームデザイナーページを開きます。ページにはすでに日付コンポーネントが配置されています。それを選択し、右側のデフォルトのドロップダウンリストから**数式編集**を選択し、下部の青い**数式を編集**ボタンをクリックします。

クリックして完全な数式を組み立てます：`TIMESTAMP(NOW())`。**確認**をクリックし、ページデザイナーの右上にある**保存**をクリックします。

**Q：契約終了日を自動的に取得するにはどうすればよいですか？**

A：以下の手順で契約終了日を設定します。

1. フォームに2つの日付コンポーネントを追加し、それぞれ開始日および終了日と名付けます。
2. 2つの数値コンポーネントを追加し、契約期間および閏年調整と名付けます。

<Steps>
  <Step title="ステップ1">
    閏年と平年で日数が異なるため、契約期間は通常、平年（365日）を基準に計算します。これを事前に数式で処理します。フォームを見やすく保つため、このフィールドは非表示にし、データは常に送信するように設定します。詳細な数式設定は下記のとおりです。
  </Step>

  <Step title="契約開始時刻と契約期間を入力すると、契約終了時刻が自動的に計算されます。数式は次のように設定します" />
</Steps>

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
DATEDELTA(DATE(DATEDELTA(DATE(開始日),365*契約期間)),-1+閏年調整)
```

4. 結果
