[DATE_FORMAT函数]使用计算公式显示日期或日期与时间

在计算公式中使用DATE_FORMAT函数时,日期、日期与时间、时间可被识别为字符串。
也可更改日期与时间的格式和时区。
将日期或时间与其他字符串进行合并时,也可使用DATE_FORMAT函数。

DATE_FORMAT(计算公式, "日期与时间的格式", "时区")

DATE_FORMAT函数的项目可使用以下任一格式。

函数格式的项目

项目 说明
计算公式

计算公式使用以下的字段。

  • 日期与时间
    日期与时间仅能在协调世界时1970年1月1日上午0点(日本时间上午9点)至协调世界时2050年1月1日上午0点(日本时间上午9点)的范围之内使用。
  • 日期
    日期仅能在1970年1月1日至2286年11月20日的范围之内使用。
  • 时间
  • 创建时间
  • 更新时间
  • 数值
  • 计算

通过字段代码指定字段。对日期与时间进行时间上的加减计算时,以秒为单位在计算公式中指定时间。例如,1小时指定为“3600”或“60*60*1”。1天则指定为“24*60*60*1”。
例:日期 + (60 \* 60 \* 1)

计算公式的结果为数值时,该数值将被换算为UNIX时间。“UNIX时间”为从1970年1月1日上午0点(协调世界时)起至今经过的秒数。也被称为UNIX时间戳。日期与时间为2016年4月1日上午0点(协调世界时)时,UNIX时间为“1459468800”。

UNIX时间 指定为小于10,000,000,000 的UNIX时间。
日期与时间的格式 指定更改后的日期与时间的格式。
关于格式,请参考以下项目。
日期与时间的格式
时区

指定更改后的时区的ID或“system”。如指定“system”,将使用管理员所设置的标准时区。
日期字段或时间字段的时区固定为协调世界时。对该类字段使用计算公式时,协调世界时的时区ID指定为“Etc/GMT”。如指定为其它时区,计算结果将和预期不符。

关于各时区的ID,请参考以下页面。
时区列表(cybozu.com共通管理 帮助)

如指定了有夏令时的时区,计算结果将显示为夏令时。
例)指定了DATE_FORMAT(日期与时间, "YYYY/MM/dd HH:mm ZZ", "America/Los_Angeles")时:
  • 协调世界时的2019-01-01 00:00将转换为2018/12/31 07:00 - 08:00。
  • 协调世界时的2018-08-01 00:00将转换为2018/07/31 08:00 - 07:00。

日期与时间的格式

使用以下表格中的格式说明符指定日期与时间的格式。各格式说明符会转换为对应的字符串。

格式说明符 说明 以2020年4月1日正午为例,进行转换后的字符串
YYYY或者yyyy 转换为公历年份。 2020
MMMM 根据编辑记录的用户所设置的显示语言,转换为相应的月份。 中文:四月
英文:April
日文:4月
MMM 根据编辑记录的用户所设置的显示语言,转换为相应月份的缩写。 中文:四月
英文:Apr
日文:4月
MM 转换为有补零位的月份。 04
M 转换为无补零位的月份。 4
dd 转换为有补零位的日数。 01
d 转换为无补零位的日数。 1
a 根据编辑记录的用户所设置的显示语言,转换为“上午”或“下午”。 中文:下午
英文:PM
日文:午後
KK 0点到11点为上午,转换为12小时制的小时。有补零位。 00
K 0点到11点为上午,转换为12小时制的小时。无补零位。 0
hh 1点到12点为上午,转换为12小时制的小时。有补零位。 12
h 1点到12点为上午,转换为12小时制的小时。无补零位。 12
HH 0点到23点为1天,转换为24小时制的小时。有补零位。 12
H 0点到23点为1天,转换为24小时制的小时。无补零位。 12
kk 1点到24点为1天,转换为24小时制的小时。有补零位。 12
k 1点到24点为1天,转换为24小时制的小时。无补零位。 12
mm 转换为有补零位的分钟。 00
m 转换为无补零位的分钟。 0
ss 转换为有补零位的秒数。 00
s 转换为无补零位的秒数。 0
Z 转换为与UTC(协调世界时)的时差。格式为hhmm。 +0800
ZZ 转换为与UTC(协调世界时)的时差。格式为hh:mm。 +08:00
ZZZ 转换为时区的ID。 Asia/Shanghai

计算公式的示例

以使用DATE_FORMAT 函数的计算公式进行说明。

计算公式:DATE_FORMAT(字段A, "YYYY年M月d日", "Etc/GMT")

将字段A的格式变为○○年○○月○○日。
字段A的值为“2020-04-01”时,计算结果为2020年4月1日。
计算公式:DATE_FORMAT(字段A, "YYYY-MM-dd HH:mm", "America/Los_Angeles")

将字段A的时区变为太平洋标准时间。
字段A的值为“2020-04-01 13:00”时,计算结果为2020-03-31 21:00。
计算公式:字段A & "-" & DATE_FORMAT(创建时间, "YYYYMMdd", "system")

合并字段A的字符串与记录创建时间。
字段A的值为“周 世杰”、记录的创建时间为“2020-04-01 13:00”时,计算结果为“周 世杰-20200401”。