1. 概述
1.1 预期效果
有时,用户需要将数据集「文本」或「数值」字段转换为「日期」字段类型,例如将 文本型「星期三1/15/07」字段转换为标准日期字段,转换后如下图所示:
1.2 实现思路
可以在报表单元格中通过「公式/函数」实现即可。
注:本文列举了一些常用的转换方法,后续会根据实际数据结构,加以补充。
2. 操作步骤
2.1 单元格设置
B2单元格输入字符串「星期三1/15/07」,B3单元格输入公式:=TODATE(B3, "EEEMM/dd/yy", "zh"),如下图所示:
2.2 效果查看
详情参见本文 1.1 节。
3. 其他转化示例
原字段内容 | 转换方法 | 转换结果 | 注意事项 |
---|---|---|---|
星期三1/15/07 | TODATE("星期三1/15/07","EEEMM/dd/yy","zh") | 2007-01-15 | 字符串 转换 时间型 |
2021/02/07星期三 | TODATE("2021/02/07星期三","yyyy/MM/ddEEE","zh") | 2021-02-07 | 字符串 转换 时间型 |
21/02/07星期三 | TODATE("21/02/07星期三","yy/MM/ddEEE","zh") | 2021-02-07 | 字符串 转换 时间型 |
21/02/07/周三 | TODATE(replace("21/02/07/周三","/周","星期"),"yy/MM/ddEEE","zh") | 2021-02-07 | 字符串 转换 时间型 |
1621221876057 | TODATE(1621221876057) | 2021-05-17 11:24:36 | 时间型(原字段为 13 位时间戳,精确到毫秒级) |
1621221876 | TODATE(1621221876*1000) | 2021-05-17 11:24:36 | 时间型(原字段需 10 位时间戳,精确到秒级),1秒=1000毫秒 |
1621221876057 | format(todate(1621221876057),"yyyy-MM-ddEEE","en") | 2021-05-17 Mon | 时间型(原字段为 13 位时间戳,精确到毫秒级)转 换成 字符串 |
1621221876057 | format(todate(1621221876057),"yyyy-MM-ddEEE","zh") | 2021-05-17 星期一 | 时间型(原字段为 13 位时间戳,精确到毫秒级)转换成 字符串 |
2020/05/22 | TODATE("2020/05/22") | 2020-05-22 | 年月日/年月文本类型转化为日期类型 |
20200522 | TODATE("20200522","yyyyMMdd") | 2020-05-22 | 年月日/年月文本类型转化为日期类型 |
202005 | TODATE("202005","yyyyMM") | 2020-05-01 | 年月日/年月文本类型转化为日期类型 |
2020-05-01 | FORMAT("2020-05-01","yyyy") | 2020 | 年月日转化为年 |
两个字段 年——2020 月份——5 日——22 | DATE(年,月份,日) | 2020-05-22 | 将年、月、日分多个字段保存,需要将多个字段处理成一个日期字段 |
2020-02-02 | FORMAT("2020-02-02","yyyyMM") | 202002 | 年月日转化为「年月」 |
2020-05-22 | TODATE(LEFT("2020-05-22",10)) | 2020-05-22 | 去掉年月日时分秒格式数据中的「时分秒」 |
模板中效果展示如下图所示: