如何转换字符串....('20210228240000' -----> 2021-03-01T00:00:00)数据应保存为“20210301000000”,但在 SAP 中存储为“20210228240000”。
我尝试使用“substr 函数”,但总是在月底出现问题。
最后,由于返回的是“2021-02-29”,如果日期不存在,JMP 就会出错。
Excel 自动识别日期...[ = date(2021, 2, 29) ---> 2021-03-01 ]
我认为......首先,从记录中删去“20210228”,然后转换日期,并添加 1 天(86400 秒)????
有没有更简单的功能或方法?
内容组织数据访问数据混合和清理实验设计质量与工艺工程分享和交流结果回复:如何转换字符串....('20210228240000' ----> 2021-03-01T00:00:00)我认为您应该对以下过程没问题:
- 提取日期
- 将日期转换为秒
- 提取小时、分钟、秒并转换为秒
- 结合以秒为单位的日期和以秒为单位的时间
- 将秒转换为所需格式
一个例子:
Names Default To Here(1);
str_list = {
"20210228230000",
"20210228240000",
"20210301200000",
"20210301240000"
};
dates = Transform Each({str}, str_list,
y = Num(Left(str, 4));
m = Num(Substr(str, 5, 2));
d = Num(Substr(str, 7, 2));
hh = Num(Substr(str, 9, 2));
mm = Num(Substr(str, 11, 2));
ss = Num(Substr(str, 13, 2));
date_time = Date MDY(m, d, y) + In Hours(hh) + In Minutes(mm) + ss;
MDYHMS(date_time);
);<BR />//{"02.28.2021 23:00:00", "03.01.2021 0:00:00", "03.01.2021 20:00:00", "03.02.2021 0:00:00"}
回复:如何转换字符串....('20210228240000' ----> 2021-03-01T00:00:00)我认为@jthi是正确的,但要仔细测试边缘。 我处理过的一些最严重的错误与时间有关。
- 最糟糕的一次只发生在上午 10 点之前,但直到有人早早赶到,我们才知道这一点! (上午 9 点前导空白。)
- 或者也许它只发生在每小时的最后几秒钟。 与上面建议的类似计算,但做得不好。
我真的很喜欢我的汽车保险单从凌晨 12:01 开始以消除歧义......
回复:如何转换字符串....('20210228240000' ----> 2021-03-01T00:00:00)谢谢~jthi~~:)
我运用这个方法解决了这个问题。
回复:如何转换字符串....('20210228240000' ----> 2021-03-01T00:00:00)我也同意,Craige_Hales!
但我无法控制这个问题。
幸运的是,这个问题只在午夜发生。
不管怎样~~非常感谢!