[DATE_FORMAT函數]指定日期或時間的格式
在計算公式中設定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.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參數可指定的日期與時間格式如下:
顯示年份的格式
格式 | 轉換結果範例 | 說明 |
---|---|---|
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」。