文字與日期格式相互轉換

簡介

本文件將介紹,如何透過函數進行文字與日期之前的格式轉換。

將日期轉換爲文字格式

方法一:TEXT 函數

要用到的函數:

設定公式爲:

TEXT(DATE(日期時間),'yyyy-MM-dd')

DATE 函數用於將日期時間欄位中的日期值轉換爲日期的序列值。 該數字也是 TEXT 函數的第一個參數。TEXT 函數的第二個參數指定輸出文字字符串所需的格式,即 yyyy-MM-dd。 此格式指定年份應由四位數字表示,月份應由兩位數字表示,日期應由兩位數字表示,並用連字符分隔。

文字的格式可以根據需要進行自由組合,如:

TEXT(DATE(日期時間),'yyyyMMdd')

表示將日期時間欄位轉換爲 yyyyMMdd 格式的文字:

方法二:DATE 函數

要用到的函數:

  • DATE 函數:把日期時間(時間戳)轉換成時間對象;
  • YEAR 函數:取出時間對象中的年份;
  • MONTH 函數:取出時間對象中的月份;
  • DAY 函數:取出時間對象中的天數;
  • TEXT 函數:將數字轉換爲文字格式;
  • CONCATENATE 函數:將多個文字字符串合併成一個文字字符串,把拆分提取的年、月、日和短線符號-連接起來。

設定公式爲:

CONCATENATE(TEXT(YEAR(DATE(日期時間))),'-',TEXT(MONTH(DATE(日期時間))),'-',TEXT(DAY(DATE(日期時間))))

DATE 函數用於轉換日期時間欄位中的日期值。 然後將生成的日期序列號作爲參數傳遞給 YEAR、MONTH 和 DAY 函數,這些函數分別提取日期的年、月和日值。 提取的值被傳遞給 TEXT 函數,該函數將它們轉換爲具有特定格式的文字字符串。 使用 CONCATENATE 函數將生成的文字字符串連接在一起,並使用連字符-作爲分隔符號。

此方法中,雖然日期取出正確,但是這樣取出的文字 2023-7-5 在月份上只有一位。如果需要統一成 yyyy-MM-dd 的格式,請參考如下操作方法。

關於文字位數的補充

因爲要對月份和日期補足位數,前面拼接一個 0,所以取出的月和日需要先轉成文字,否則直接用 + 號連接就變成了加法。

欄位中的年份肯定是四位數,可以不用考慮。

月份和日期,可能會出現一位數或者兩位數的情況,我們可以統一成兩位數的格式,RIGHT 函數是從右邊取位字符串的函數,只要在月份前面加一個 0,從右邊取兩位即可:

RIGHT('0'+TEXT(MONTH(DATE(日期時間))),2)

表示假設月份爲 12,拼接一個 0 之後,012 取右邊兩位依然是 12;假設月份是 5,拼接一個 0 之後,01 取右邊兩位是 05;這樣就實現了取出月份必定是兩位數的格式。日期同理。

最終設定公式爲:

CONCATENATE(TEXT(YEAR(DATE(日期時間))),'-',RIGHT('0'+TEXT(MONTH(DATE(日期時間))),2),'-',RIGHT('0'+TEXT(DAY(DATE(日期時間))),2))

效果如下:

將文字轉換爲日期格式

要用到的函數:

  • MID 函數:取出文字字符串中從指定位置開始的特定數目的字符;
  • VALUE 函數:把文字轉換爲數值格式;
  • DATE 函數:把日期時間(時間戳)轉換爲時間對象。

以文字 yyyyMMdd 的格式爲例,設定公式爲:

DATE(VALUE(MID(單行文字,1,4)),VALUE(MID(單行文字,5,2)),VALUE(MID(單行文字,7,2)))

表示分別提取出單行文字中的年、月、日資訊,轉換成數值格式,再轉換爲日期時間格式:

這項資訊有幫助嗎?
需要更多協助嗎?聯繋技術支援。