> ## 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.

# 时间函数

> 本文详细介绍了宜搭平台中所有的时间函数及其使用方法，包括计算日期区间、时间戳转换为日期对象等功能。同时提供了关于日期组件的基础概念解析。

本文为你列举了宜搭所有的时间函数，以及在使用时间函数时可能遇到的问题。

## 函数概览

| **函数名称**                                                | **说明**                                                             |
| ------------------------------------------------------- | ------------------------------------------------------------------ |
| [CASCADEDATEINTERVAL](/zh/yida/form/py2n7nkaimvsypoe)   | 计算日期区间选择框组件中的，开始和结束日期的相隔天数。                                        |
| [CASCADEDATEINTERVALV2](/zh/yida/form/blbqwhbcsa44h4tb) | 返回日期区间2个日期的天数。                                                     |
| [DATE](/zh/yida/form/pxp74275bikx0xvt)                  | 将时间戳转换为日期对象。                                                       |
| [DATEDELTA](/zh/yida/form/tz0uzryeft12rpgw)             | 将指定日期加/减指定天数。                                                      |
| [DAY](/zh/yida/form/zblyusnwcvrbregn)                   | 返回某日期的天数。                                                          |
| [DAYBEGIN](/zh/yida/form/kuda7hpn6ru4mv2g)              | 将指定日期组件的时间戳的时分秒置零后的时间戳结果。                                          |
| [DAYEND](/zh/yida/form/me7p9i2f32erci85)                | 将指定日期组件的时间戳的时分秒设置成最大。                                              |
| [DAYS](/zh/yida/form/acp1c60wvm7v5g5m)                  | 返回两个日期之间的天数。                                                       |
| [DAYS360](/zh/yida/form/wa3hg2rs7i40eb90)               | DAYS360 函数返回两个日期间相差的天数。                                            |
| [HOUR](/zh/yida/form/ly60vx00lfm5mp2r)                  | 返回某日期的小时数。                                                         |
| [ISOWEEKNUM](/zh/yida/form/bn3zv56eunro0tzd)            | 一个指定日期在当年的周数。                                                      |
| [MINUTE](/zh/yida/form/vgvc4f7myfwpbqa5)                | 返回某日期的分钟数。                                                         |
| [MONTH](/zh/yida/form/obwipf12ew36n32a)                 | 返回某日期的月份。                                                          |
| [NETWORKDAYS](/zh/yida/form/qfwh5ivncnfg57wt)           | 可以计算两个特定日期中的工作日天数。                                                 |
| [NOW](/zh/yida/form/qn4qo0ydlb2i1iz1)                   | 返回当前时间，与 TODAY 函数相同。                                               |
| [SECOND](/zh/yida/form/qpvcqng3gb14aww7)                | 返回某日期的秒数。                                                          |
| [SYSTIME](/zh/yida/form/enkgisafnaalmkl0)               | 返回当前服务器时间。                                                         |
| [TIME](/zh/yida/form/zl268y77wk9nhwkg)                  | 返回特定时间的十进制数字。                                                      |
| [TIMESTAMP](/zh/yida/form/bmgm5sirz825ncal)             | 将日期对象转换成时间戳,主要用来将日期公式计算出的日期对象转为时间戳，给日期组件赋值。                        |
| [TODAY](/zh/yida/form/vzgyog2mozwazdrk)                 | 返回今天。                                                              |
| [WEEKNUM](/zh/yida/form/kn045dietny22f9k)               | 返回特定日期的周数。                                                         |
| [WORKDAY](/zh/yida/form/cwczglfr7liddmmw)               | 可以计算出距离某个具体时间点N个工作日后的另一个时间点默认工作日排除周末，且可以通过假期（Holiday）进行更加细致的工作日定义。 |
| [YEAR](/zh/yida/form/ghx7avaatnrt3gow)                  | 返回某日期的年份。                                                          |
| [YEARBEGIN](/zh/yida/form/whagovdhgkyy0n4k)             | 获取日期所在年份的首个日期。                                                     |
| [YEAREND](/zh/yida/form/vyck0fpn0a1kp2ty)               | 获取日期所在年份的最后一个日期。                                                   |

## 基础概念

**日期组件**的返回值为**时间戳**（timestamp），单位是毫秒。

下面介绍关于日期函数的两个基本概念：

* 时间戳 （timestamp）：时间戳是计算机记录时间的一种格式。通常是一个字符序列，唯一地标识某一刻的时间。在宜搭表单中， 日期 组件便是由这样的序列来存储的。
* 日期对象 ：可以理解为年月日时分秒；日期对象的格式为 Sat Aug 01 2015 00:00:00 GMT+0800（中国标准时间），即北京时间 2015 年 8 月 1 日 00:00:00，日期对象可以进行各种运算，比如日期加减法等。

在宜搭中通常会使用字母表示日期格式，以下表格是各字母所代表的含义。

| **字母** | **含义**           |
| ------ | ---------------- |
| 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`来格式化当前时间作为文本组件**格式化日期**的默认值，公式内容定义如下：

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1583117036128-d79425a4-0fca-454c-9886-33a0d257e904.png)
</Frame>

页面展示如下：

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1583117249312-39d70336-bc2e-4a92-b542-07c48618b76e.png)
</Frame>

## 常见问题

* Q1：如何使用公式获取取当天时间？

A：打开表单设计器页面，页面中已经包含一个一个日期组件，鼠标选中它，在右侧的默认值中下拉选择【公式编辑】，接着点击下方蓝色的【编辑公式】按钮。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1639375024267-aa59dc44-d9f9-409d-9641-4160b946a8eb.png)
</Frame>

通过点选的方式，编辑完整的公式内容为：`TIMESTAMP(NOW())` ，点击【确定】按钮，在页面设计器中点击右上角的【保存】按钮。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1639375071327-2f9572fd-621b-44e4-ae00-e464148673fc.png)
</Frame>

**Q：如何自动获取合同结束时间？**

A：你可以参考以下步骤配置合同结束时间。

1. 在表单中添加两个 日期组件 ，分别命名为 开始日期 和 结束日期 。
2. 添加两个 数值 组件，分别命名为 合同年限 和 闰年处理 。

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1703483154981-2abc1714-248e-4e34-8cbf-212a3d8d82e4.png)
</Frame>

<Steps>
  <Step title="步骤 1">
    由于有闰年、平年区分，合同时长一般按平年（365 天）计算，此时需要提前进行公式处理，为表单美观可将该字段隐藏，将数据设置始终提交即可，详细公式配置如下图： ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1646989893737-1179b92a-7d1f-4aa2-8ecc-64b4d74263db.png)

    <Frame>
      ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1646989841779-d368ba4d-56f4-415f-a009-5c4d60f351da.png)
    </Frame>
  </Step>

  <Step title="填写合同开始时间、合同年限后自动获取出合同截止时间，公式配置如下" />
</Steps>

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
DATEDELTA(DATE(DATEDELTA(DATE(开始时间),365*合同年限)),-1+闰年处理)
```

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1646990001342-cc7304d4-44d6-4e4a-acac-46110b3dca4b.png)
</Frame>

4. 效果展示

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/gif/1646990165884-cd335332-a31e-488b-b96a-639b4f07f8d8.gif)
</Frame>
