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

fixed missing initialization; added test to example.

parent ac66aeae
No related branches found
Tags 1.0.6
No related merge requests found
......@@ -21,6 +21,7 @@ program example
type(datetime), pointer :: start_date_tmp
type(datetime), pointer :: start_date_test
type(datetime), pointer :: stop_date
type(datetime), pointer :: end_date
type(timedelta), pointer :: time_step
......@@ -119,6 +120,8 @@ contains
type(datetime), pointer :: dt1 => null(), dt2 => null()
character(len=MAX_TIMEDELTA_STR_LEN) :: td_string
character(len=MAX_DATETIME_STR_LEN) :: dstring
TYPE(timedelta), POINTER :: time_delta
CHARACTER(LEN=MAX_DATETIME_STR_LEN) :: dt_string
mtime_td => newTimedelta("PT1H1M1S")
mtime_td = mtime_td * 0.3d0
......@@ -230,6 +233,35 @@ contains
call deallocateDatetime(dt2)
call deallocateTimedelta(mtime_td)
CALL setCalendar(PROLEPTIC_GREGORIAN)
start_date => newDatetime("2017-07-01T00:00:00.000")
end_date => newDatetime("2017-07-31T00:00:00.000")
time_delta => newTimeDelta("P01D")
time_delta = end_date - start_date
CALL datetimeToString(start_date, dt_string)
WRITE (0,*) "start_date = ", TRIM(dt_string)
CALL datetimeToString(end_date, dt_string)
WRITE (0,*) "end_date = ", TRIM(dt_string)
CALL timedeltaToString(time_delta, td_string)
WRITE (0,*) "difference (P30D) = ", TRIM(td_string)
CALL deallocateDatetime(start_date)
CALL deallocateDatetime(end_date)
CALL deallocateTimedelta(time_delta)
start_date => newDatetime("2017-07-01T00:00:00.000")
end_date => newDatetime("2017-08-01T00:00:00.000")
time_delta => newTimeDelta("P01D")
time_delta = end_date - start_date
CALL datetimeToString(start_date, dt_string)
WRITE (0,*) "start_date = ", TRIM(dt_string)
CALL datetimeToString(end_date, dt_string)
WRITE (0,*) "end_date = ", TRIM(dt_string)
CALL timedeltaToString(time_delta, td_string)
WRITE (0,*) "difference (P01M) = ", TRIM(td_string)
CALL deallocateDatetime(start_date)
CALL deallocateDatetime(end_date)
CALL deallocateTimedelta(time_delta)
end subroutine icon_tests
subroutine event_tests
......
......@@ -1082,6 +1082,8 @@ julianDeltaToTimeDelta(struct _juliandelta* jd, struct _datetime* base_dt, struc
/* } */
/* } */
td_return->month = 0;
td_return->day = (int) delta_final_year;
for (i = NO_OF_MONTHS_IN_A_YEAR; i > 0; i--)
{
if (delta_final_year >= msdinm[base_dt->date.month - 1][i])
......
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