[DATE_FORMAT函数]指定日期或时间的显示形式并显示
在计算公式中设置使用DATE_FORMAT函数后,会将日期与时间或日期等值转化为指定的日期与时间格式的字符串。
将日期或时间与其他字符串进行合并时,也可使用DATE_FORMAT函数。
DATE_FORMAT函数的语法
DATE_FORMAT(日期与时间, "日期与时间的格式", "时区")
DATE_FORMAT函数中需指定第1参数(日期与时间)、第2参数(日期与时间的格式)、第3参数(时区)。
第1参数:日期与时间
第1参数中,指定想要指定显示形式的时间。
通过字段代码、UNIX时间或计算公式进行指定。
通过字段代码指定
可指定以下字段:
- 日期与时间
- 日期
- 时间
- 创建时间
- 更新时间
- 数值
- 计算
指定数值字段或计算字段时,将把该字段的值作为UNIX时间进行处理。
通过UNIX时间指定
可直接指定UNIX时间。
可在-30610224000到253402300799之间的范围内指定UNIX时间。
指定计算公式
也可指定对日期与时间进行加减等计算后所得的日期与时间。
可使用以下运算符和函数。
- +
- -
- *
- /
- ^
- SUM函数
在计算公式中输入时间时,以秒为单位进行指定。
例如,1小时指定为“3600”或“60*60*1”。
以下示例为显示后一天日期的计算公式。
DATE_FORMAT(日期+24*60*60*1, "YYYY/MM/dd", "Etc/GMT")
第2参数:日期与时间的格式
第2参数中,指定日期与时间的格式。
日期与时间的格式通过以下方法指定。
- 直接指定日期与时间的格式
- 通过字段代码指定。
日期与时间的格式的指定方法,请参考“可指定的日期与时间的格式”。
通过字段代码指定时,可以指定以下字段。
- 单行文本框
- 多行文本框字段
想要在计算结果中显示日期与时间格式的字符串时
想要在计算结果中显示日期与时间格式中输入的字符串时,请将要要显示的字符串括在单引号(')中。
例如,想要以“Date: 日期”这种格式来显示计算结果时,如下进行指定。
DATE_FORMAT(字段代码, "'DATE:' d", "Asia/Tokyo")
想让单引号(')在计算结果中显示为字符时,请在日期与时间的格式处连续输入2个单引号“''”。
例如,想要以“'Date: 日期'”这种格式来显示计算结果时,如下进行指定。
DATE_FORMAT(字段代码, "'''DATE:' d''", "Asia/Tokyo")
第3参数:时区
第3参数中,指定时区。
第1参数指定了时间字段或日期字段时,指定为“Etc/GMT”(协调世界时的时区ID)。指定为“Etc/GMT”以外的格式时,可能会发生时间或日期的偏差。
DATE_FORMAT(时间, "hh:mm", "Etc/GMT")
指定其他字段或UNIX时间时,指定想要显示的时区。
DATE_FORMAT(日期与时间, "YYYY年M月d日", "Asia/Tokyo")
指定为“system”时,将应用cybozu.cn共通管理中设置的时区(系统时区)。
夏令时的处理
如指定了有夏令时的时区,计算结果将显示为夏令时。
以下示例是指定了有夏令时的时区的计算公式。
DATE_FORMAT(日期与时间, "YYYY/MM/dd HH:mm ZZ", "America/Los_Angeles")
在此示例中,计算结果如下:
- 协调世界时的“2019-01-01 00:00”将转换为“2018/12/31 16:00 -08:00”。
- 协调世界时的“2018-08-01 00:00”将转换为“2018/07/31 17:00 -07:00”。
可指定的日期与时间的格式
DATE_FORMAT函数第2参数中可指定的日期与时间的格式如下:
显示年的格式
格式 | 转换结果的示例 | 说明 |
---|---|---|
YYYY | 2020 | 转换为公历年份。也可使用小写的“yyyy”。 |
显示月的格式
格式 | 转换结果的示例 | 说明 |
---|---|---|
MMMM | April 4月 |
根据编辑记录的用户所设置的显示语言,转换为相应的月份。 |
MMM | Apr 4月 |
根据编辑记录的用户所设置的显示语言,转换为相应的月份。英语则显示缩写。 |
MM | 04 | 转换为有补零位的月份。 |
M | 4 | 转换为无补零位的月份。 |
显示日期的格式
格式 | 转换结果的示例 | 说明 |
---|---|---|
dd | 01 | 转换为有补零位的日期。 |
d | 1 | 转换为无补零位的日期。 |
显示时间的格式
格式 | 转换结果的示例 | 说明 |
---|---|---|
a | PM 午後 下午 |
根据编辑记录的用户所设置的显示语言,转换为“上午”或“下午”。 |
KK | 00 | 0点到11点为上午,转换为12小时制的小时。有补零位。 以第1参数(日期与时间)指定了正午时,转换为“00”。 |
K | 0 | 0点到11点为上午,转换为12小时制的小时。无补零位。 以第1参数(日期与时间)指定了正午时,转换为“0”。 |
hh | 12 | 1点到12点为上午,转换为12小时制的小时。有补零位。 以第1参数(日期与时间)指定了正午时,转换为“12”。 |
h | 12 | 1点到12点为上午,转换为12小时制的小时。无补零位。 以第1参数(日期与时间)指定了正午时,转换为“12”。 |
HH | 00 | 0点到23点为1天,转换为24小时制的小时。有补零位。 以第1参数(日期与时间)指定了上午0点时,转换为“00”。 |
H | 0 | 0点到23点为1天,转换为24小时制的小时。无补零位。 以第1参数(日期与时间)指定了上午0点时,转换为“0”。 |
kk | 24 | 1点到24点为1天,转换为24小时制的小时。有补零位。 以第1参数(日期与时间)指定了上午0点时,转换为“24”。 |
k | 24 | 1点到24点为1天,转换为24小时制的小时。无补零位。 以第1参数(日期与时间)指定了上午0点时,转换为“24”。 |
显示分钟的格式
格式 | 转换结果的示例 | 说明 |
---|---|---|
mm | 05 | 转换为有补零位的分钟。 |
m | 5 | 转换为无补零位的分钟。 |
显示秒数的格式
在处理kintone日期与时间或时间的字段中,不会保存秒数。
在第1参数中指定字段代码后,秒数将作为0秒处理。
格式 | 转换结果的示例 | 说明 |
---|---|---|
ss | 01 | 转换为有补零位的秒数。 转换UNIX时间的“1695179101”(2023年9月20日12時5分1秒)时,将转换为“01”。 |
s | 1 | 转换为无补零位的秒数。 转换UNIX时间的“1695179101”(2023年9月20日12時5分1秒)时,将转换为“1”。 |
显示时区的格式
格式 | 转换结果的示例 | 说明 |
---|---|---|
Z | +0800 | 将转换为在第3参数中指定的时区与UTC(协调世界时)的时差。以hhmm的格式显示。 |
ZZ | +08:00 | 将转换为在第3参数中指定的时区与UTC(协调世界时)的时差。以hh:mm的格式显示。 |
ZZZ | Asia/Shanghai | 转换为第3参数中指定的时区的ID。 |
计算公式的示例
在计算公式中,请指定字段代码作为参数而非字段名称。
在以下示例中,字段名称和字段代码完全一致。
将日期字段的格式更改为“****年**月**日”
以下示例是将日期字段的格式更改为“****年**月**日”的计算公式。
DATE_FORMAT(日期, "YYYY年M月d日", "Etc/GMT")
在“日期”字段中输入“2020-04-01”后,将显示“2020年4月1日”。
更改日期与时间字段的格式和时区{#autocalc_date_format_4020}。
以下示例是将日期字段的格式更改为“YYYY-MM-dd HH:mm”,将时区设为太平洋时间的计算公式。
DATE_FORMAT(日期与时间, "YYYY-MM-dd HH:mm", "America/Los_Angeles")
如在“日期与时间”字段中输入日本时间“2020-04-01 13:00”,计算结果为2020-03-31 21:00。
将姓名和记录创建时间合并显示
以下示例是以“姓名-记录创建时间”的格式显示姓名和记录创建时间的计算公式。
使用“&”将姓名、连字符(-)、记录创建时间合并。
姓名 & "-" & DATE_FORMAT(创建时间, "YYYYMMdd", "system")
如在“姓名”字段中输入“田中 爱美”、在记录的创建时间中输入“2022-10-31 16:42”,计算结果为“田中 爱美-20221031”。
通过出生日期显示出生月份
以下示例是通过出生日期显示出生月份的计算公式。
DATE_FORMAT(出生日期, "MM", "Etc/GMT")
如在“出生日期”字段中输入“1969-12-31”,则显示“12”。
通过申请日计算30天后的试用截止日期
以下示例是通过申请日显示30天后的试用截止日期的计算公式。
DATE_FORMAT(申请日 + (60*60*24*30), "YYYY-MM-dd", "Etc/GMT")
如在“申请日”字段中输入“2021-07-01”,则显示30天后的“2021-07-31”。