gpt4 book ai didi

abap - 将 TIMESTAMPL(时间戳长)转换为 TIMESTAMP 以 60 结尾

转载 作者:行者123 更新时间:2023-12-04 20:34:40 28 4
gpt4 key购买 nike

我有一个 OData 服务返回一些 DateTime值。它们以 TIMESTAMPL 的形式保存在后端的表中(还有一些其他数据)。

现在有值 20160630084459.5000 .与 MOVE-CORRESPONDINGet_entityset ,它是一个 TIMESTAMP .由于四舍五入,它得到 20160630084460 , 由于秒必须在 00 之间和 59 ,这不是要返回的有效值。

我的主要问题是,我的表有非常多的条目,所以我需要一种高效的方法来修复这个错误。

最佳答案

首先你的TIMESTAMPL值不正确。前八位不符合YYYYMMDD图案。所以我认为它应该是 20160630084459.5000而不是 20163006084459.5000 ( 2016063020163006 )。
其次,这里是一种将其转换为您想要的内容的方法。

REPORT zzy NO STANDARD PAGE HEADING.

FORM convert_timestamp.
DATA(l_t1) = CONV timestampl('20160630084459.5000').
DATA: l_t2 TYPE timestamp.
l_t2 = l_t1.
WRITE / : l_t1, l_t2.
CONVERT TIME STAMP l_t1 TIME ZONE sy-zonlo INTO DATE DATA(l_date) TIME DATA(l_time).
CONVERT DATE l_date TIME l_time INTO TIME STAMP l_t2 TIME ZONE sy-zonlo.
WRITE / l_t2.
ENDFORM.

START-OF-SELECTION.
PERFORM convert_timestamp.
这是输出。

20.160.630.084.459,5000000
20.160.630.084.460
20.160.630.084.459

关于abap - 将 TIMESTAMPL(时间戳长)转换为 TIMESTAMP 以 60 结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38118274/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com