[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」时,将应用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参数中可指定的日期与时间的格式如下:

显示年的格式

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

显示月的格式

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

显示日期的格式

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

显示时间的格式

格式转换结果的示例说明
aPM
午後
下午
根据编辑记录的用户所设置的显示语言,转换为「上午」或「下午」。
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」。