之前和java做接口的時候就遇到過這個問題,對方的時間戳和SAP的時間戳是不同的。
SAP的時間戳格式NNNNYYDD ZONE HHMMSS這樣的一個數值。
JAVA的時間戳是unix時間戳,是以1970年1月1號開始計算的秒數。而且是以零時區開始計算的。
比如北京時間1970年1月1號8點,對應SAP時間戳為19700101000000這是轉換了時區后的;那么java的時間戳則是0,對,你沒看錯,就是0 .。。。
好了下面來說說ABAP怎么轉換這個時間戳吧。
ECC里有好幾個類都有轉換方法,這里就提其中之一:CL_APL_TESTZONE_SERVICES
S4里應該是繼承的NWBC里的類:CL_PCO_UTILITY
在使用的時候需要注意了,因為這里轉換的是零時區的時間戳,所以在做這個直接先看看是否要帶上時區。