date函数怎么转换成年月日格式(将日期转换为文本型数据的2种方法)
date函数怎么转换成年月日格式(将日期转换为文本型数据的2种方法)点击体验效果:日期转文本-TEXT函数表示将日期时间字段转换为 yyyyMMdd 格式的文本:表示将日期时间字段转换为 yyyy-MM-dd 格式的文本,其中 yyyy 表示年份,MM 表示月份,dd 表示日。文本的格式可以根据需要进行自由组合,如:TEXT(DATE(日期时间) 'yyyyMMdd')
本案例将介绍,如何利用简道云通过函数进行文本与日期之前的格式转换。
1. 将日期转换为文本格式方法一:TEXT函数
- TEXT 函数:将日期对象转换为文本格式。
设置公式为:
TEXT(DATE(日期时间) 'yyyy-MM-dd')
表示将日期时间字段转换为 yyyy-MM-dd 格式的文本,其中 yyyy 表示年份,MM 表示月份,dd 表示日。
文本的格式可以根据需要进行自由组合,如:
TEXT(DATE(日期时间) 'yyyyMMdd')
表示将日期时间字段转换为 yyyyMMdd 格式的文本:
点击体验效果:日期转文本-TEXT函数
方法二:DATE函数
要用到的函数:
- DATE 函数:把日期时间(时间戳)转换成时间对象;
- YEAR 函数:取出时间对象中的年份;
- MONTH 函数:取出时间对象中的月份;
- DAY 函数:取出时间对象中的天数;
- TEXT 函数:将数字转换为文本格式;
- CONCATENATE 函数:将多个文本字符串合并成一个文本字符串,把拆分提取的年、月、日和短线符号 “-” 连接起来。
设置公式为:
CONCATENATE(TEXT(YEAR(DATE(日期时间))) '-' TEXT(MONTH(DATE(日期时间))) '-'
TEXT(DAY(DATE(日期时间))))
表示分别提取日期时间字段中的年、月、日信息,将其转换为文本格式,再将这些信息用 “-” 连接起来:
点击体验效果:日期转文本-DATE函数
此方法中虽然日期取出正确,但是这样取出的文本 2021-5-12 在月份上只有一位。如果需要统一成 XXXX-XX-XX 的格式,操作方法请参考如下:关于文本位数的补充:
关于文本位数的补充
因为要对月份和日期补足位数,前面拼接一个 0,所以取出的月和日需要先转成文本,否则直接用 号连接就变成了加法。
- RIGHT(a b):从字符串 a 的右边取字符,取 b 个;
- TEXT 函数:把数值转换为文本格式。
字段中的年份肯定是 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))
效果如下:
2. 将文本转换为日期格式要用到的函数:
- MID 函数:取出文本字符串中从指定位置开始的特定数目的字符;
- VALUE 函数:把文本转换为数值格式;
- DATE 函数:把日期时间(时间戳)转换为时间对象。
以文本 yyyyMMdd 的格式为例,设置公式为:
DATE(VALUE(MID(单行文本 1 4)) VALUE(MID(单行文本 5 2)) VALUE(MID(单行文本 7 2)))
表示分别提取出单行文本中的年、月、日信息,转换成数值格式,再转换为日期时间格式:
点击体验效果:文本转日期
本教程来自简道云-帮助中心,进入查看更多。