本案例将介绍,如何通过函数进行文本与日期之前的格式转换。
要用到的函数:
设置公式为:
TEXT(DATE(日期时间),'yyyy-MM-dd')
表示将日期时间字段转换为 yyyy-MM-dd 格式的文本,其中 yyyy 表示年份,MM 表示月份,dd 表示日。
文本的格式可以根据需要进行自由组合,如:
TEXT(DATE(日期时间),'yyyyMMdd')
表示将日期时间字段转换为 yyyyMMdd 格式的文本:
要用到的函数:
设置公式为:
CONCATENATE(TEXT(YEAR(DATE(日期时间))),'-',TEXT(MONTH(DATE(日期时间))),'-',
TEXT(DAY(DATE(日期时间))))
表示分别提取日期时间字段中的年、月、日信息,将其转换为文本格式,再将这些信息用 “-” 连接起来:
此方法中虽然日期取出正确,但是这样取出的文本 2021-5-12 在月份上只有一位。如果需要统一成 XXXX-XX-XX 的格式,操作方法请参考如下:关于文本位数的补充:
因为要对月份和日期补足位数,前面拼接一个 0,所以取出的月和日需要先转成文本,否则直接用+号连接就变成了加法。
字段中的年份肯定是 4 位数,可以不用考虑。
月份和日期,可能会出现 1 位数或者 2 位数的情况,我们可以统一成 2 位数的格式,RIGHT 函数是从右边取位字符串的函数,只要在月份前面加一个 0,从右边取 2 位即可:
RIGHT('0'+TEXT(MONTH(DATE(时间日期))),2)
表示假设月份为 12,拼接一个 0 之后,012 取右边 2 位依然是 12;假设月份是 5,拼接一个 0 之后,01 取右边 2 位是 05;这样就实现了取出月份必定是 2 位数的格式。日期同理。
最终设置公式为:
CONCATENATE(TEXT(YEAR(DATE(日期时间))),'-',RIGHT('0'+TEXT(MONTH(DATE(日期时间))),2),'-',
RIGHT('0'+TEXT(DAY(DATE(日期时间))),2))
效果如下:
要用到的函数:
以文本 yyyyMMdd 的格式为例,设置公式为:
DATE(VALUE(MID(单行文本,1,4)),VALUE(MID(单行文本,5,2)),VALUE(MID(单行文本,7,2)))
表示分别提取出单行文本中的年、月、日信息,转换成数值格式,再转换为日期时间格式: