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參數指定日期與時間的格式。
利用下列方法指定日期與時間格式:

  • 直接指定日期與時間格式
  • 指定欄位代碼

日期與時間格式的指定方法,請參閱以下項目。
可指定的日期與時間格式

可以指定下列欄位的欄位代碼:

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

對日期與時間格式加上字串

若要對日期與時間格式加上特定字串,請用單引號(')括住要顯示的字串。
下列計算公式範例為將計算結果顯示為「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.com共通管理中設定的時區(系統時區)。

夏令時間的處理方式

指定有夏令時間的時區時,計算結果會反映夏令時間。

下列計算公式範例為指定有夏令時間的時區。

內容已複製
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
下午
下午
轉換為編輯記錄使用者設定的顯示語言的「上午」或「下午」。
KK00轉換為時,以0點至11點為上午的12小時制。自動補零。
在第1參數(日期與時間)中指定正午,將轉換為「00」。
K0轉換為時,以0點至11點為上午的12小時制。不補零。
在第1參數(日期與時間)中指定正午,將轉換為「0」。
hh12轉換為時,以1點至12點為上午的12小時制。自動補零。
在第1參數(日期與時間)中指定正午,將轉換為「12」。
h12轉換為時,以1點至12點為上午的12小時制。不補零。
在第1參數(日期與時間)中指定正午,將轉換為「12」。
HH00轉換為時,以0點至23點為1天的24小時制。自動補零。
在第1參數(日期與時間)中指定上午0點,將轉換為「00」。
H0轉換為時,以0點至23點為1天的24小時制。不補零。
在第1參數(日期與時間)中指定上午0點,將轉換為「0」。
kk24轉換為時,以1點至24點為1天的24小時制。自動補零。
在第1參數(日期與時間)中指定上午0點,將轉換為「24」。
k24轉換為時,以1點至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")

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

在「姓名」欄位中輸入「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」。