首先你TIMESTAMPL
值不正确。前八个位置不符合YYYYMMDD
模式。所以我认为它应该是20160630084459.5000
而不是20163006084459.5000
(20160630
与20163006
)。
其次,这里有一种方法可以将它转换为你想要的。
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对象,但在这种情况下,它无法以任何方式获得关键点。 – vwegert
@vwegert你能否详细说明一下?我应该使用这种简单的例子吗? – Jagger
开始选择。 DATA(l_t1)= CONV时间戳('20160630084459.5000')。 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 DATA(l_t2)TIME ZONE sy-zonlo。 WRITE/l_t2。 – vwegert