1. 概述
1.1 预期效果
有时,用户需要将「文本」或「数值」字段转换为「日期」字段类型,例如将数值型「1621221876057」字段转换为标准日期字段,转换后如下图所示:
1.2 实现思路
使用自助数据集 「新增列」,通过「公式/函数」实现即可。
注:本文列举了一些常用的转换方法,后续会根据实际数据结构,加以补充。
2. 操作步骤
2.1 使用自助数据集新增列
添加自助数据集,选择对应数据集下的数值字段 (本文以固定数据值 1621221876057 为例),点击「+」,添加新增列,如下图所示:
注:公式框中的函数、字段都需要点击左侧的选择区域选择,不能手动输入。
2.2 效果查看
详情参见本文 1.2 节。
3. 其他转化示例
原字段内容 | 转换方法 | 转换结果 | 注意事项 |
---|---|---|---|
星期三1/15/07 | TODATE("星期三1/15/07","EEEMM/dd/yy","zh") | 2007-01-15 00:00:00 | 字符串 转换 时间型 |
2021/02/07星期三 | TODATE("2021/02/07星期三","yyyy/MM/ddEEE","zh") | 2021-02-07 00:00:00 | 字符串 转换 时间型 |
21/02/07星期三 | TODATE("21/02/07星期三","yy/MM/ddEEE","zh") | 2021-02-07 00:00:00 | 字符串 转换 时间型 |
21/02/07/周三 | TODATE(replace("21/02/07/周三","/周","星期"),"yy/MM/ddEEE","zh") | 2021-02-07 00:00:00 | 字符串 转换 时间型 |
1621221876057 | TODATE(1621221876057) | 2021-05-17 11:24:36 | 时间型(原字段为 13 位时间戳,精确到毫秒级) |
2021-05-17 | DATETONUMBER("2021-05-17") | 1,621,180,800,000 | 日期型转换为时间型(原字段为 13 位时间戳,精确到毫秒级) 注:不支持年月日时分秒格式的转换。 |
1621221876 | TODATE(1621221876*1000) | 2021-05-17 11:24:36 | 时间型(原字段需 10 位时间戳,精确到秒级),1秒=1000毫秒 |
1621221876057 | format(todate(1621221876057),"yyyy-MM-ddEEE") | 2021-05-17星期一 | 时间型(原字段为 13 位时间戳,精确到毫秒级)转 换成 字符串 |
2020/05/22 | TODATE("2020/05/22") | 2020-05-22 00:00:00 | 年月日/年月文本类型转化为日期类型 |
20200522 | TODATE("20200522","yyyyMMdd") | 2020-05-22 00:00:00 | 年月日/年月文本类型转化为日期类型 |
202005 | TODATE("202005","yyyyMM") | 2020-05-01 00:00:00 | 年月日/年月文本类型转化为日期类型 |
两个字段 年——2020 月份——5 日——22 | DATE(年,月份,日) | 2020-05-22 00:00:00 | 将年、月、日分多个字段保存,需要将多个字段处理成一个日期字段 |
2020-02-02 | FORMAT("2020-02-02","yyyyMM") | 202002 | 年月日转化为「年月」 |
2020-05-22 08:23:09 | TODATE(FORMAT("2020-05-22 08:23:09","yyyy-MM-dd")) | 2020-05-22 00:00:00 | 去掉年月日时分秒格式数据中的「时分秒」数据 |
2018/12/1/周六 8:55:00 | todate(replace("2018/12/1/周六 8:55:00","周","星期"),"yyyy/MM/dd/EEE HH:mm:ss","zh") | 2018-12-01 08:55:00 | 字符串(含周x) 转换 时间型 |
2008-08-08 | DATETONUMBER("2008-08-08") | 1,218,124,800,000 | 返回自1970年1月1日00:00:00GMT 到指定时间经过的毫秒数 |