[ABAP] UTC-long-Zeitstempel nach POSIX-Standard in Datum und Zeit splitten

TRY.
* UTC-Zeitstempel nach POSIX-Standard
* z.B. 01.01.2025 06:30:10,1234567
    DATA(lv_utc_long) = utclong_current( ).

    WRITE: / 'UTC long: ', lv_utc_long.

* UTC-Long in Datum, Zeit splitten
    CONVERT UTCLONG lv_utc_long
      TIME ZONE cl_abap_context_info=>get_user_time_zone( )
      INTO DATE DATA(lv_date)               " d
      TIME DATA(lv_time)                    " t
      FRACTIONAL SECONDS DATA(lv_frac_sec)  " decfloat34
      DAYLIGHT SAVING TIME DATA(lv_is_dst). " abap_bool

    WRITE: / 'Date: ', lv_date.
    WRITE: / 'Time: ', lv_time.
    WRITE: / 'Fractionl seconds: ', lv_frac_sec.
    WRITE: / 'Daylight saving time: ', lv_is_dst.

  CATCH cx_root INTO DATA(e_txt).
    WRITE: / e_txt->get_text( ).
ENDTRY.

[ABAP] UTC-Zeitstempel nach POSIX-Standard

* UTC-Zeitstempel nach POSIX-Standard
DATA(lv_utc_long) = utclong_current( ).

* addiert die übergebenen Werte zu UTC-Zeitstempel
DATA(lv_utc_long_add) = utclong_add( val     = lv_utc_long
                                     days    = 1000
                                     hours   = 100
                                     minutes = 10 ).

* berechnet die Zeitdifferenz zwischen zwei UTC-Zeitstempeln
DATA(lv_utc_long_diff) = utclong_diff( high = lv_utc_long_add
                                       low  = lv_utc_long ).

* Zeitdauer zwischen zwei Zeitstempelwerten bestimmen
cl_abap_utclong=>diff( EXPORTING high    = lv_utc_long_add
                                 low     = lv_utc_long
                       IMPORTING days    = DATA(lv_days)
                                 hours   = DATA(lv_hours)
                                 minutes = DATA(lv_minutes)
                                 seconds = DATA(lv_seconds) ).

* UTL-Zeitstempel aus Text
DATA(lv_utc_long_txt) = CONV utclong( '2025-05-01 12:00:00,123' ).

WRITE: / lv_utc_long.
WRITE: / lv_utc_long_txt.
WRITE: / lv_utc_long_add.
WRITE: / lv_utc_long_diff.

WRITE: / lv_days.
WRITE: / lv_hours.
WRITE: / lv_minutes.
WRITE: / lv_seconds.