Skip to content
Snippets Groups Projects
Commit d5b9afd6 authored by Florian Prill's avatar Florian Prill
Browse files

implemented assignment operator for milliseconds.

parent e77b15db
No related branches found
No related tags found
No related merge requests found
...@@ -87,6 +87,10 @@ PROGRAM example ...@@ -87,6 +87,10 @@ PROGRAM example
dt3 = "1970-01-01T00:00:01" dt3 = "1970-01-01T00:00:01"
WRITE (0,*) dt%to_string(), " == ", dt3%to_string(), ": ", (dt == dt3) WRITE (0,*) dt%to_string(), " == ", dt3%to_string(), ": ", (dt == dt3)
! interval assignment with milliseconds
td = 360000
WRITE (0,*) "interval assignment with milliseconds: ", td%to_string()
! ------------------------------------------------------------ ! ------------------------------------------------------------
! EXAMPLE FOR ERROR HANDLING ! EXAMPLE FOR ERROR HANDLING
! ------------------------------------------------------------ ! ------------------------------------------------------------
......
...@@ -18,6 +18,8 @@ module mtime_hl ...@@ -18,6 +18,8 @@ module mtime_hl
public :: t_datetime, t_timedelta public :: t_datetime, t_timedelta
INTEGER, PARAMETER :: i8 = SELECTED_INT_KIND(14) !< at least 8 byte integer
!> Wrapper class for "mtime" data type "datetime". !> Wrapper class for "mtime" data type "datetime".
! !
! Avoids, e.g., explicit use of POINTERs by the user. ! Avoids, e.g., explicit use of POINTERs by the user.
...@@ -68,8 +70,9 @@ module mtime_hl ...@@ -68,8 +70,9 @@ module mtime_hl
procedure :: to_string => t_timedelta_to_string procedure :: to_string => t_timedelta_to_string
procedure :: assign_string => t_timedelta_assign_string procedure :: assign_string => t_timedelta_assign_string
procedure :: assign_ms => t_timedelta_assign_ms
generic :: assignment(=) => assign_string GENERIC :: ASSIGNMENT(=) => assign_string, assign_ms
end type t_timedelta end type t_timedelta
...@@ -183,6 +186,20 @@ contains ...@@ -183,6 +186,20 @@ contains
call deallocateTimedelta(td_tmp) call deallocateTimedelta(td_tmp)
end subroutine t_timedelta_assign_string end subroutine t_timedelta_assign_string
! Assignment operator: this = milliseconds.
!
SUBROUTINE t_timedelta_assign_ms(this, td_ms)
CLASS (t_timedelta), INTENT(out) :: this
INTEGER, INTENT(in) :: td_ms
TYPE(timedelta), POINTER :: td_tmp
CHARACTER(len=max_timedelta_str_len) :: td_string
CALL getPTStringFromMS(INT(td_ms,i8), td_string)
td_tmp => newTimedelta(td_string)
this%td = td_tmp
this%td%sign = td_tmp%sign
call deallocateTimedelta(td_tmp)
END SUBROUTINE t_timedelta_assign_ms
end module mtime_hl end module mtime_hl
!> !>
!! @} !! @}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment