[DATE_FORMAT函数]指定日期或时间的显示形式并显示

記事番号:040501

在计算公式中设置使用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参数中,指定日期与时间的格式。
日期与时间的格式通过以下方法指定。

  • 直接指定日期与时间的格式
  • 通过字段代码指定

日期与时间的格式的指定方法,请参考
可指定的日期与时间的格式

通过字段代码指定时,可以指定以下字段。

  • [文字列(1行)]
  • [文字列(複数行)]

想要在计算结果中显示日期与时间格式的字符串时

想要在计算结果中显示日期与时间格式中输入的字符串时,请将要要显示的字符串括在单引号(')中。
例如,想要以「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」时,将应用Kintone共通管理中设置的时区(系统时区)。

夏令时的处理

如指定了有夏令时的时区,计算结果将显示为夏令时。

以下示例是指定了有夏令时的时区的计算公式。

内容已复制
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参数中可指定的日期与时间的格式如下:

显示年的格式

格式转换结果的示例说明
YYYY2020转换为公历年份。也可使用小写的「yyyy」。

显示月的格式

格式转换结果的示例说明
MMMMApril
4月
根据编辑记录的用户所设置的显示语言,转换为相应的月份。
MMMApr
4月
根据编辑记录的用户所设置的显示语言,转换为相应的月份。英语则显示缩写。
MM04转换为有补零位的月份。
M4转换为无补零位的月份。

显示日期的格式

格式转换结果的示例说明
dd01转换为有补零位的日期。
d1转换为无补零位的日期。

显示时间的格式

格式转换结果的示例说明
aPM
下午(12:00-24:00)
下午
根据编辑记录的用户所设置的显示语言,转换为「上午」或「下午」。
KK000点到11点为上午,转换为12小时制的小时。有补零位。
以第1参数(日期与时间)指定了正午时,转换为「00」。
K00点到11点为上午,转换为12小时制的小时。无补零位。
以第1参数(日期与时间)指定了正午时,转换为「0」。
hh121点到12点为上午,转换为12小时制的小时。有补零位。
以第1参数(日期与时间)指定了正午时,转换为「12」。
h121点到12点为上午,转换为12小时制的小时。无补零位。
以第1参数(日期与时间)指定了正午时,转换为「12」。
HH000点到23点为1天,转换为24小时制的小时。有补零位。
以第1参数(日期与时间)指定了上午0点时,转换为「00」。
H00点到23点为1天,转换为24小时制的小时。无补零位。
以第1参数(日期与时间)指定了上午0点时,转换为「0」。
kk241点到24点为1天,转换为24小时制的小时。有补零位。
以第1参数(日期与时间)指定了上午0点时,转换为「24」。
k241点到24点为1天,转换为24小时制的小时。无补零位。
以第1参数(日期与时间)指定了上午0点时,转换为「24」。

显示分钟的格式

格式转换结果的示例说明
mm05转换为有补零位的分钟。
m5转换为无补零位的分钟。

显示秒数的格式

在处理Kintone日期与时间或时间的字段中,不会保存秒数。
在第1参数中指定字段代码后,秒数将作为0秒处理。

格式转换结果的示例说明
ss01转换为有补零位的秒数。
转换UNIX时间的「1695179101」(2023年9月20日12時5分1秒)时,将转换为「01」。
s1转换为无补零位的秒数。
转换UNIX时间的「1695179101」(2023年9月20日12時5分1秒)时,将转换为「1」。

显示时区的格式

格式转换结果的示例说明
Z+0900将转换为在第3参数中指定的时区与UTC(协调世界时)的时差。以hhmm的格式显示。
ZZ+09:00将转换为在第3参数中指定的时区与UTC(协调世界时)的时差。以hh:mm的格式显示。
ZZZAsia/Tokyo转换为第3参数中指定的时区的ID。

计算公式的示例

計算式では、引数としてフィールド名ではなくフィールドコードを指定してください。
次の例では、フィールド名とフィールドコードをすべて一致させています。

将日期字段的格式更改为「****年**月**日」

以下示例是将[日付]字段的格式更改为「****年**月**日」的计算公式。

内容已复制
DATE_FORMAT(日期, "YYYY年M月d日", "Etc/GMT")

[日期]字段中输入「2020-04-01」后,将显示「2020年4月1日」。

更改日期与时间字段的格式和时区

以下示例是将[日時]字段的格式更改为「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」。