时间函数
本文为你列举了宜搭所有的时间函数,以及在使用时间函数时可能遇到的问题。
函数概览
| 函数名称 | 说明 | 
| 计算日期区间选择框组件中的,开始和结束日期的相隔天数。 | |
| 返回日期区间2个日期的天数。 | |
| 将时间戳转换为日期对象。 | |
| 将指定日期加/减指定天数。 | |
| 返回某日期的天数。 | |
| 将指定日期组件的时间戳的时分秒置零后的时间戳结果。 | |
| 将指定日期组件的时间戳的时分秒设置成最大。 | |
| 返回两个日期之间的天数。 | |
| DAYS360 函数返回两个日期间相差的天数。 | |
| 返回某日期的小时数。 | |
| 一个指定日期在当年的周数。 | |
| 返回某日期的分钟数。 | |
| 返回某日期的月份。 | |
| 可以计算两个特定日期中的工作日天数。 | |
| 返回当前时间,与 TODAY 函数相同。 | |
| 返回某日期的秒数。 | |
| 返回当前服务器时间。 | |
| 返回特定时间的十进制数字。 | |
| 将日期对象转换成时间戳,主要用来将日期公式计算出的日期对象转为时间戳,给日期组件赋值。 | |
| 返回今天。 | |
| 返回特定日期的周数。 | |
| 可以计算出距离某个具体时间点N个工作日后的另一个时间点默认工作日排除周末,且可以通过假期(Holiday)进行更加细致的工作日定义。 | |
| 返回某日期的年份。 | |
| 获取日期所在年份的首个日期。 | |
| 获取日期所在年份的最后一个日期。 | 
基础概念
日期组件的返回值为时间戳(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来格式化当前时间作为文本组件格式化日期的默认值,公式内容定义如下:

页面展示如下:

常见问题
- Q1:如何使用公式获取取当天时间?
A:打开表单设计器页面,页面中已经包含一个一个日期组件,鼠标选中它,在右侧的默认值中下拉选择【公式编辑】,接着点击下方蓝色的【编辑公式】按钮。

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

Q:如何自动获取合同结束时间?
A:你可以参考以下步骤配置合同结束时间。
- 在表单中添加两个日期组件,分别命名为开始日期和结束日期。
- 添加两个数值组件,分别命名为合同年限和闰年处理。

- 由于有闰年、平年区分,合同时长一般按平年(365 天)计算,此时需要提前进行公式处理,为表单美观可将该字段隐藏,将数据设置始终提交即可,详细公式配置如下图: 

- 填写合同开始时间、合同年限后自动获取出合同截止时间,公式配置如下。
DATEDELTA(DATE(DATEDELTA(DATE(开始时间),365*合同年限)),-1+闰年处理)

- 效果展示
