[DATE_FORMAT函數]指定日期或時間的格式

文章編號:040501

在計算公式中設定DATE_FORMAT函數,將日期、時間、日期與時間的值轉換成指定格式的文字列。
要將日期或時間與其他字串結合時,也可以使用DATE_FORMAT函數。

DATE_FORMAT函數的語法

內容已複製
DATE_FORMAT(日期與時間, "日期與時間格式", "時區")

在DATE_FORMAT函數中指定第1參數(日期與時間)、第2參數(日期與時間格式)、第3參數(時區)。

第1參數:日期與時間

第1參數指定要指定顯示格式的日期與時間。
參數指定欄位代碼、UNIX時間或計算公式。

指定欄位代碼

可指定以下欄位:

  • 日期與時間
  • 日期
  • 時間
  • 建立時間
  • 更新時間
  • 數值
  • 計算

指定數值欄位或計算欄位時,該欄位的值將視為UNIX時間。

指定UNIX時間

直接指定UNIX時間。
UNIX時間的指定範圍為-30610224000以上、253402300799以下。

指定計算公式

指定對日期與時間進行時長加減後的計算結果。

可使用以下運算符號及函數:

  • +
  • -
  • *
  • /
  • ^
  • 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")

若想將單引號(')作為文字顯示在計算結果中,請連續記載兩個單引號「''」。
例如使用下列計算公式,將計算結果顯示為「'Date: 日期'」。

內容已複製
DATE_FORMAT(欄位代碼, "'''DATE:' d''", "Asia/Tokyo")

第3參數:時區

第3參數指定時區。

第1參數指定時間欄位或日期欄位時,時區請指定為「Etc/GMT」(世界協調時間的時區ID)。指定「Etc/GMT」以外的時區可能會使時間或日期產生誤差。

內容已複製
DATE_FORMAT(時間, "hh:mm", "Etc/GMT")

若第1參數指定其他欄位或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 +0900 轉換為第3參數指定的時區與UTC(世界協調時間)的時差。顯示為hhmm格式。
ZZ +09:00 轉換為第3參數指定的時區與UTC(世界協調時間)的時差。顯示為hh:mm格式。
ZZZ Asia/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")

截圖:結合姓名欄位及記錄建立時間

在「姓名」欄位中輸入「Maria Jackson」,且記錄建立時間為「2022-10-31 16:42」時,計算結果為「Maria Jackson-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」。