322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
323 !DIR$ ATTRIBUTES DLLEXPORT ::
ZONE_MIN
327#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
328 !DIR$ ATTRIBUTES DLLEXPORT ::
ZONE_MAX
347 integer(
IK) ,
parameter ::
ORIGIN(
8)
= [
integer(
IK) ::
1,
1,
1,
0,
0,
0,
0,
0]
348#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
349 !DIR$ ATTRIBUTES DLLEXPORT ::
ORIGIN
390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
429#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
468#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
493 integer(
IK) ,
parameter ::
DAYS_OF_MONTH(
12)
= [
integer(
IK) ::
31,
28,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31]
494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
523 integer(
IK) ,
parameter ::
DAYS_OF_MONTH_LEAP(
12)
= [
integer(
IK) ::
31,
29,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31]
524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
541#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
558#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
616#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
674#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
703#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
732#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
790#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
819#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
897 integer(
IK) :: year
= 1_IK
898 integer(
IK) :: month
= 1_IK
899 integer(
IK) :: day
= 1_IK
900 integer(
IK) :: zone
= 0_IK
902 integer(
IK) :: hour
= 0_IK
903 integer(
IK) :: minute
= 0_IK
904 integer(
IK) :: second
= 0_IK
905 integer(
IK) :: millisecond
= 0_IK
961 character(
4,
SK) :: year
= "0001"
962 character(
2,
SK) :: month
= "01"
963 character(
2,
SK) :: day
= "01"
964 character(
5,
SK) :: zone
= "+0000"
967 character(
2,
SK) :: hour
= "00"
968 character(
2,
SK) :: minute
= "00"
969 character(
2,
SK) :: second
= "00"
970 character(
3,
SK) :: millisecond
= "000"
1085 integer(
IK) :: Zone(
39)
= [
-60 * 12 &
1125 character(
5,
SK) :: Abbr(
39)
= [
"IDLW " &
1185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1186 !DIR$ ATTRIBUTES DLLEXPORT ::
timeZone
1260 module function getZoneAbbrC()
result(abbr)
1261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1262 !DEC$ ATTRIBUTES DLLEXPORT :: getZoneAbbrC
1265 character(:,SKG),
allocatable :: abbr
1268 PURE module function getZoneAbbrZ(zone)
result(abbr)
1269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1270 !DEC$ ATTRIBUTES DLLEXPORT :: getZoneAbbrZ
1273 integer(IKG) ,
intent(in) :: zone
1274 character(:,SKG),
allocatable :: abbr
1337 module function getHour12C()
result(hour12)
1338#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1339 !DEC$ ATTRIBUTES DLLEXPORT :: getHour12C
1342 integer(IKG) :: hour12
1345 PURE elemental module function getHour12H(hour)
result(hour12)
1346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1347 !DEC$ ATTRIBUTES DLLEXPORT :: getHour12H
1350 integer(IKG),
intent(in) :: hour
1351 integer(IKG) :: hour12
1473 impure module function getJulianDayC()
result(julianDay)
1474#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1475 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayC
1477 real(RK) :: julianDay
1480 PURE module function getJulianDayV(values)
result(julianDay)
1481#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1482 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayV
1484 integer(IK) ,
intent(in),
contiguous :: values(:)
1485 real(RK) :: julianDay
1488 PURE elemental module function getJulianDayY(year)
result(julianDay)
1489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1490 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayY
1492 integer(IK) ,
intent(in) :: year
1493 real(RK) :: julianDay
1496 PURE elemental module function getJulianDayYM(year, month)
result(julianDay)
1497#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1498 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayYM
1500 integer(IK) ,
intent(in) :: year, month
1501 real(RK) :: julianDay
1504 PURE elemental module function getJulianDayYMD(year, month, day)
result(julianDay)
1505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1506 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayYMD
1508 integer(IK) ,
intent(in) :: year, month, day
1509 real(RK) :: julianDay
1512 PURE elemental module function getJulianDayYMDZ(year, month, day, zone)
result(julianDay)
1513#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1514 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayYMDZ
1516 integer(IK) ,
intent(in) :: year, month, day, zone
1517 real(RK) :: julianDay
1520 PURE elemental module function getJulianDayYMDZH(year, month, day, zone, hour)
result(julianDay)
1521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1522 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayYMDZH
1524 integer(IK) ,
intent(in) :: year, month, day, zone, hour
1525 real(RK) :: julianDay
1528 PURE elemental module function getJulianDayYMDZHM(year, month, day, zone, hour, minute)
result(julianDay)
1529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1530 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayYMDZHM
1532 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute
1533 real(RK) :: julianDay
1536 PURE elemental module function getJulianDayYMDZHMS(year, month, day, zone, hour, minute, second)
result(julianDay)
1537#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1538 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayYMDZHMS
1540 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second
1541 real(RK) :: julianDay
1544 PURE elemental module function getJulianDayYMDZHMSM(year, month, day, zone, hour, minute, second, millisecond)
result(julianDay)
1545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1546 !DEC$ ATTRIBUTES DLLEXPORT :: getJulianDayYMDZHMSM
1548 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second, millisecond
1549 real(RK) :: julianDay
1654 impure module function getDateTimeShiftedC(amount)
result(dateTimeShifted)
1655#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1656 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedC
1658 real(RK) ,
intent(in) :: amount
1659 integer(IK) :: dateTimeShifted(
8)
1662 PURE module function getDateTimeShiftedV(amount, values)
result(dateTimeShifted)
1663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1664 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedV
1666 real(RK) ,
intent(in) :: amount
1667 integer(IK) ,
intent(in),
contiguous :: values(:)
1668 integer(IK) :: dateTimeShifted(
8)
1671 PURE module function getDateTimeShiftedY(amount, year)
result(dateTimeShifted)
1672#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1673 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedY
1675 real(RK) ,
intent(in) :: amount
1676 integer(IK) ,
intent(in) :: year
1677 integer(IK) :: dateTimeShifted(
8)
1680 PURE module function getDateTimeShiftedYM(amount, year, month)
result(dateTimeShifted)
1681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1682 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedYM
1684 real(RK) ,
intent(in) :: amount
1685 integer(IK) ,
intent(in) :: year, month
1686 integer(IK) :: dateTimeShifted(
8)
1689 PURE module function getDateTimeShiftedYMD(amount, year, month, day)
result(dateTimeShifted)
1690#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1691 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedYMD
1693 real(RK) ,
intent(in) :: amount
1694 integer(IK) ,
intent(in) :: year, month, day
1695 integer(IK) :: dateTimeShifted(
8)
1698 PURE module function getDateTimeShiftedYMDZ(amount, year, month, day, zone)
result(dateTimeShifted)
1699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1700 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedYMDZ
1702 real(RK) ,
intent(in) :: amount
1703 integer(IK) ,
intent(in) :: year, month, day, zone
1704 integer(IK) :: dateTimeShifted(
8)
1707 PURE module function getDateTimeShiftedYMDZH(amount, year, month, day, zone, hour)
result(dateTimeShifted)
1708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1709 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedYMDZH
1711 real(RK) ,
intent(in) :: amount
1712 integer(IK) ,
intent(in) :: year, month, day, zone, hour
1713 integer(IK) :: dateTimeShifted(
8)
1716 PURE module function getDateTimeShiftedYMDZHM(amount, year, month, day, zone, hour, minute)
result(dateTimeShifted)
1717#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1718 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedYMDZHM
1720 real(RK) ,
intent(in) :: amount
1721 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute
1722 integer(IK) :: dateTimeShifted(
8)
1725 PURE module function getDateTimeShiftedYMDZHMS(amount, year, month, day, zone, hour, minute, second)
result(dateTimeShifted)
1726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1727 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedYMDZHMS
1729 real(RK) ,
intent(in) :: amount
1730 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second
1731 integer(IK) :: dateTimeShifted(
8)
1734 PURE module function getDateTimeShiftedYMDZHMSM(amount, year, month, day, zone, hour, minute, second, millisecond)
result(dateTimeShifted)
1735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1736 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeShiftedYMDZHMSM
1738 real(RK) ,
intent(in) :: amount
1739 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second, millisecond
1740 integer(IK) :: dateTimeShifted(
8)
1813 PURE module function getDateTimeDiffValues(Values1, Values2)
result(dateTimeDiff)
1814#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1815 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeDiffValues
1817 integer(IK) ,
intent(in),
contiguous :: Values1(:), Values2(:)
1818 real(RK) :: dateTimeDiff
1919 impure module function getDateTimeUTCC()
result(DateTimeUTC)
1920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1921 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeUTCC
1923 integer(IK) :: DateTimeUTC(
8)
1926 PURE module function getDateTimeUTCV(values)
result(DateTimeUTC)
1927#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1928 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeUTCV
1930 integer(IK) ,
intent(in),
contiguous :: values(:)
1931 integer(IK) :: DateTimeUTC(
8)
1958 PURE module function getDateTimeUTCYMDZ(year, month, day, zone)
result(DateTimeUTC)
1959#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1960 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeUTCYMDZ
1962 integer(IK) ,
intent(in) :: year, month, day, zone
1963 integer(IK) :: DateTimeUTC(
8)
1966 PURE module function getDateTimeUTCYMDZH(year, month, day, zone, hour)
result(DateTimeUTC)
1967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1968 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeUTCYMDZH
1970 integer(IK) ,
intent(in) :: year, month, day, zone, hour
1971 integer(IK) :: DateTimeUTC(
8)
1974 PURE module function getDateTimeUTCYMDZHM(year, month, day, zone, hour, minute)
result(DateTimeUTC)
1975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1976 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeUTCYMDZHM
1978 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute
1979 integer(IK) :: DateTimeUTC(
8)
1982 PURE module function getDateTimeUTCYMDZHMS(year, month, day, zone, hour, minute, second)
result(DateTimeUTC)
1983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1984 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeUTCYMDZHMS
1986 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second
1987 integer(IK) :: DateTimeUTC(
8)
1990 PURE module function getDateTimeUTCYMDZHMSM(year, month, day, zone, hour, minute, second, millisecond)
result(DateTimeUTC)
1991#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1992 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeUTCYMDZHMSM
1994 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second, millisecond
1995 integer(IK) :: DateTimeUTC(
8)
2099 impure module function getDateTimeNewZoneC(newzone)
result(DateTimeNewZone)
2100#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2101 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeNewZoneC
2103 integer(IK) ,
intent(in) :: newzone
2104 integer(IK) :: DateTimeNewZone(
8)
2107 PURE module function getDateTimeNewZoneV(newzone, values)
result(DateTimeNewZone)
2108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2109 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeNewZoneV
2111 integer(IK) ,
intent(in) :: newzone
2112 integer(IK) ,
intent(in),
contiguous :: values(:)
2113 integer(IK) :: DateTimeNewZone(
8)
2143 PURE module function getDateTimeNewZoneYMDZ(newzone, year, month, day, zone)
result(DateTimeNewZone)
2144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2145 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeNewZoneYMDZ
2147 integer(IK) ,
intent(in) :: newzone
2148 integer(IK) ,
intent(in) :: year, month, day, zone
2149 integer(IK) :: DateTimeNewZone(
8)
2152 PURE module function getDateTimeNewZoneYMDZH(newzone, year, month, day, zone, hour)
result(DateTimeNewZone)
2153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2154 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeNewZoneYMDZH
2156 integer(IK) ,
intent(in) :: newzone
2157 integer(IK) ,
intent(in) :: year, month, day, zone, hour
2158 integer(IK) :: DateTimeNewZone(
8)
2161 PURE module function getDateTimeNewZoneYMDZHM(newzone, year, month, day, zone, hour, minute)
result(DateTimeNewZone)
2162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2163 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeNewZoneYMDZHM
2165 integer(IK) ,
intent(in) :: newzone
2166 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute
2167 integer(IK) :: DateTimeNewZone(
8)
2170 PURE module function getDateTimeNewZoneYMDZHMS(newzone, year, month, day, zone, hour, minute, second)
result(DateTimeNewZone)
2171#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2172 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeNewZoneYMDZHMS
2174 integer(IK) ,
intent(in) :: newzone
2175 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second
2176 integer(IK) :: DateTimeNewZone(
8)
2179 PURE module function getDateTimeNewZoneYMDZHMSM(newzone, year, month, day, zone, hour, minute, second, millisecond)
result(DateTimeNewZone)
2180#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2181 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeNewZoneYMDZHMSM
2183 integer(IK) ,
intent(in) :: newzone
2184 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second, millisecond
2185 integer(IK) :: DateTimeNewZone(
8)
2371 PURE module function getDateTimeValuesJ(julianDay)
result(values)
2372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2373 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesJ
2375 real(RK) ,
intent(in) :: julianDay
2376 integer(IK) :: values(
8)
2379 PURE module function getDateTimeValuesJZ(julianDay, zone)
result(values)
2380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2381 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesJZ
2383 real(RK) ,
intent(in) :: julianDay
2384 integer(IK) ,
intent(in) :: zone
2385 integer(IK) :: values(
8)
2388 impure module function getDateTimeValuesC()
result(values)
2389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2390 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesC
2392 integer(IK) :: values(
8)
2395 PURE module function getDateTimeValuesY(year)
result(values)
2396#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2397 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesY
2399 integer(IK) ,
intent(in) :: year
2400 integer(IK) :: values(
8)
2403 PURE module function getDateTimeValuesYM(year, month)
result(values)
2404#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2405 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesYM
2407 integer(IK) ,
intent(in) :: year, month
2408 integer(IK) :: values(
8)
2411 PURE module function getDateTimeValuesYMD(year, month, day)
result(values)
2412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2413 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesYMD
2415 integer(IK) ,
intent(in) :: year, month, day
2416 integer(IK) :: values(
8)
2419 PURE module function getDateTimeValuesYMDZ(year, month, day, zone)
result(values)
2420#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2421 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesYMDZ
2423 integer(IK) ,
intent(in) :: year, month, day, zone
2424 integer(IK) :: values(
8)
2427 PURE module function getDateTimeValuesYMDZH(year, month, day, zone, hour)
result(values)
2428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2429 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesYMDZH
2431 integer(IK) ,
intent(in) :: year, month, day, zone, hour
2432 integer(IK) :: values(
8)
2435 PURE module function getDateTimeValuesYMDZHM(year, month, day, zone, hour, minute)
result(values)
2436#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2437 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesYMDZHM
2439 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute
2440 integer(IK) :: values(
8)
2443 PURE module function getDateTimeValuesYMDZHMS(year, month, day, zone, hour, minute, second)
result(values)
2444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2445 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesYMDZHMS
2447 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second
2448 integer(IK) :: values(
8)
2451 PURE module function getDateTimeValuesYMDZHMSM(year, month, day, zone, hour, minute, second, millisecond)
result(values)
2452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2453 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeValuesYMDZHMSM
2455 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second, millisecond
2456 integer(IK) :: values(
8)
2461 impure module function getDateTimeStringC(format)
result(string)
2462#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2463 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeStringC
2465 character(
*, SK),
intent(in) :: format
2466 character(:, SK),
allocatable :: string
2469 PURE module function getDateTimeStringV(format, values)
result(string)
2470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2471 !DEC$ ATTRIBUTES DLLEXPORT :: getDateTimeStringV
2473 character(
*, SK),
intent(in) :: format
2474 integer(IK) ,
intent(in),
contiguous :: values(:)
2475 character(:, SK),
allocatable :: string
2575 impure module function getWeekDateCurrent()
result(WeekDate)
2576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2577 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDateCurrent
2579 integer(IK) :: WeekDate(
3)
2582 PURE module function getWeekDateValues(values)
result(WeekDate)
2583#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2584 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDateValues
2586 integer(IK) ,
intent(in),
contiguous :: values(:)
2587 integer(IK) :: WeekDate(
3)
2590 PURE module function getWeekDateTriple(year, month, day)
result(WeekDate)
2591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2592 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDateTriple
2594 integer(IK) ,
intent(in) :: year, month, day
2595 integer(IK) :: WeekDate(
3)
2671 impure module function getWeekYearCurrent()
result(weekYear)
2672#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2673 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekYearCurrent
2675 integer(IK) :: weekYear
2678 PURE module function getWeekYearValues(values)
result(weekYear)
2679#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2680 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekYearValues
2682 integer(IK) ,
intent(in),
contiguous :: values(:)
2683 integer(IK) :: weekYear
2686 PURE elemental module function getWeekYearTriple(year, month, day)
result(weekYear)
2687#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2688 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekYearTriple
2690 integer(IK) ,
intent(in) :: year, month, day
2691 integer(IK) :: weekYear
2797 PURE module function isValidDateTimeV(values)
result(isValid)
2798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2799 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeV
2801 integer(IK) ,
intent(in),
contiguous :: values(:)
2802 logical(LK) :: isValid
2805 PURE elemental module function isValidDateTimeY(year)
result(isValid)
2806#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2807 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeY
2809 integer(IK) ,
intent(in) :: year
2810 logical(LK) :: isValid
2813 PURE elemental module function isValidDateTimeYM(year, month)
result(isValid)
2814#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2815 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeYM
2817 integer(IK) ,
intent(in) :: year, month
2818 logical(LK) :: isValid
2821 PURE elemental module function isValidDateTimeYMD(year, month, day)
result(isValid)
2822#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2823 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeYMD
2825 integer(IK) ,
intent(in) :: year, month, day
2826 logical(LK) :: isValid
2829 PURE elemental module function isValidDateTimeYMDZ(year, month, day, zone)
result(isValid)
2830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2831 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeYMDZ
2833 integer(IK) ,
intent(in) :: year, month, day, zone
2834 logical(LK) :: isValid
2837 PURE elemental module function isValidDateTimeYMDZH(year, month, day, zone, hour)
result(isValid)
2838#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2839 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeYMDZH
2841 integer(IK) ,
intent(in) :: year, month, day, zone, hour
2842 logical(LK) :: isValid
2845 PURE elemental module function isValidDateTimeYMDZHM(year, month, day, zone, hour, minute)
result(isValid)
2846#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2847 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeYMDZHM
2849 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute
2850 logical(LK) :: isValid
2853 PURE elemental module function isValidDateTimeYMDZHMS(year, month, day, zone, hour, minute, second)
result(isValid)
2854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2855 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeYMDZHMS
2857 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second
2858 logical(LK) :: isValid
2861 PURE elemental module function isValidDateTimeYMDZHMSM(year, month, day, zone, hour, minute, second, millisecond)
result(isValid)
2862#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2863 !DEC$ ATTRIBUTES DLLEXPORT :: isValidDateTimeYMDZHMSM
2865 integer(IK) ,
intent(in) :: year, month, day, zone, hour, minute, second, millisecond
2866 logical(LK) :: isValid
2938 module function isLastDayInMonthC()
result(lastDayInMonth)
2939#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2940 !DEC$ ATTRIBUTES DLLEXPORT :: isLastDayInMonthC
2942 logical(LK) :: lastDayInMonth
2945 PURE module function isLastDayInMonthValues(values)
result(lastDayInMonth)
2946#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2947 !DEC$ ATTRIBUTES DLLEXPORT :: isLastDayInMonthValues
2949 integer(IK),
intent(in),
contiguous :: values(:)
2950 logical(LK) :: lastDayInMonth
2953 PURE elemental module function isLastDayInMonthTriple(year, month, day)
result(lastDayInMonth)
2954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2955 !DEC$ ATTRIBUTES DLLEXPORT :: isLastDayInMonthTriple
2957 integer(IK),
intent(in) :: year, month, day
2958 logical(LK) :: lastDayInMonth
3030 module function getDateAfterC()
result(dateAfter)
3031#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3032 !DEC$ ATTRIBUTES DLLEXPORT :: getDateAfterC
3034 integer(IK) :: dateAfter(
3)
3037 PURE module function getDateAfterValues(values)
result(dateAfter)
3038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3039 !DEC$ ATTRIBUTES DLLEXPORT :: getDateAfterValues
3041 integer(IK),
intent(in),
contiguous :: values(:)
3042 integer(IK) :: dateAfter(
3)
3045 PURE module function getDateAfterTriple(year, month, day)
result(dateAfter)
3046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3047 !DEC$ ATTRIBUTES DLLEXPORT :: getDateAfterTriple
3049 integer(IK),
intent(in) :: year, month, day
3050 integer(IK) :: dateAfter(
3)
3122 module function getDateBeforeC()
result(dateBefore)
3123#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3124 !DEC$ ATTRIBUTES DLLEXPORT :: getDateBeforeC
3126 integer(IK) :: dateBefore(
3)
3129 PURE module function getDateBeforeValues(values)
result(dateBefore)
3130#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3131 !DEC$ ATTRIBUTES DLLEXPORT :: getDateBeforeValues
3133 integer(IK),
intent(in),
contiguous :: values(:)
3134 integer(IK) :: dateBefore(
3)
3137 PURE module function getDateBeforeTriple(year, month, day)
result(dateBefore)
3138#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3139 !DEC$ ATTRIBUTES DLLEXPORT :: getDateBeforeTriple
3141 integer(IK),
intent(in) :: year, month, day
3142 integer(IK) :: dateBefore(
3)
3225 impure module function getOrdinalDayCurrent()
result(ordinalDay)
3226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3227 !DEC$ ATTRIBUTES DLLEXPORT :: getOrdinalDayCurrent
3229 integer(IK) :: ordinalDay
3232 PURE module function getOrdinalDayValues(values)
result(ordinalDay)
3233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3234 !DEC$ ATTRIBUTES DLLEXPORT :: getOrdinalDayValues
3236 integer(IK),
intent(in),
contiguous :: values(:)
3237 integer(IK) :: ordinalDay
3240 PURE elemental module function getOrdinalDayTriple(year, month, day)
result(ordinalDay)
3241#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3242 !DEC$ ATTRIBUTES DLLEXPORT :: getOrdinalDayTriple
3244 integer(IK),
intent(in) :: year, month, day
3245 integer(IK) :: ordinalDay
3337 impure module function getWeekNumberCurrent()
result(weekNumber)
3338#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3339 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekNumberCurrent
3341 integer(IK) :: weekNumber
3344 PURE module function getWeekNumberValues(values)
result(weekNumber)
3345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3346 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekNumberValues
3348 integer(IK),
intent(in),
contiguous :: values(:)
3349 integer(IK) :: weekNumber
3352 PURE elemental module function getWeekNumberTriple(year, month, day)
result(weekNumber)
3353#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3354 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekNumberTriple
3356 integer(IK),
intent(in) :: year, month, day
3357 integer(IK) :: weekNumber
3438 impure module function getWeekDayCurrent()
result(weekday)
3439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3440 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDayCurrent
3442 integer(IK) :: weekday
3445 PURE module function getWeekDayValues(values)
result(weekday)
3446#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3447 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDayValues
3449 integer(IK),
intent(in),
contiguous :: values(:)
3450 integer(IK) :: weekday
3453 PURE elemental module function getWeekDayTriple(year, month, day)
result(weekday)
3454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3455 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDayTriple
3457 integer(IK),
intent(in) :: year, month, day
3458 integer(IK) :: weekday
3545 impure module function getWeekDayISOCurrent()
result(weekday)
3546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3547 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDayISOCurrent
3549 integer(IK) :: weekday
3552 PURE module function getWeekDayISOValues(values)
result(weekday)
3553#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3554 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDayISOValues
3556 integer(IK),
intent(in),
contiguous :: values(:)
3557 integer(IK) :: weekday
3560 PURE elemental module function getWeekDayISOTriple(year, month, day)
result(weekday)
3561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3562 !DEC$ ATTRIBUTES DLLEXPORT :: getWeekDayISOTriple
3564 integer(IK),
intent(in) :: year, month, day
3565 integer(IK) :: weekday
3630 PURE elemental module function getCountDaysInYear(year)
result(countDays)
3631#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3632 !DEC$ ATTRIBUTES DLLEXPORT :: getCountDaysInYear
3634 integer(IK),
intent(in) :: year
3635 integer(IK) :: countDays
3638 PURE elemental module function getCountDaysInMonth(year, month)
result(countDays)
3639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3640 !DEC$ ATTRIBUTES DLLEXPORT :: getCountDaysInMonth
3642 integer(IK),
intent(in) :: year, month
3643 integer(IK) :: countDays
3711 PURE elemental module function getCountWeeksInYear(year)
result(countWeeks)
3712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3713 !DEC$ ATTRIBUTES DLLEXPORT :: getCountWeeksInYear
3715 integer(IK),
intent(in) :: year
3716 integer(IK) :: countWeeks
3719 PURE elemental module function getCountWeeksInMonth(year, month)
result(countWeeks)
3720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3721 !DEC$ ATTRIBUTES DLLEXPORT :: getCountWeeksInMonth
3723 integer(IK),
intent(in) :: year, month
3724 integer(IK) :: countWeeks
3786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3789 integer(IK),
intent(in) :: until
3790 integer(IK) :: countLeapYear
3793 PURE elemental module function getCountLeapYearsSince(until, since)
result(countLeapYear)
3794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3795 !DEC$ ATTRIBUTES DLLEXPORT :: getCountLeapYearsSince
3797 integer(IK),
intent(in) :: until
3798 integer(IK),
intent(in) :: since
3799 integer(IK) :: countLeapYear
3875 impure module function isMorningCurrent()
result(morning)
3876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3877 !DEC$ ATTRIBUTES DLLEXPORT :: isMorningCurrent
3880 logical(LKG) :: morning
3883 impure elemental module function isMorningZ(zone)
result(morning)
3884#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3885 !DEC$ ATTRIBUTES DLLEXPORT :: isMorningZ
3888 integer(IKG) ,
intent(in) :: zone
3889 logical(LKG) :: morning
3892 pure elemental module function isMorningJD(julianDay)
result(morning)
3893#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3894 !DEC$ ATTRIBUTES DLLEXPORT :: isMorningJD
3897 real(RKG) ,
intent(in) :: julianDay
3898 logical(LKG) :: morning
3901 PURE elemental module function isMorningJDZ(julianDay, zone)
result(morning)
3902#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3903 !DEC$ ATTRIBUTES DLLEXPORT :: isMorningJDZ
3906 real(RKG) ,
intent(in) :: julianDay
3907 integer(IKG) ,
intent(in) :: zone
3908 logical(LKG) :: morning
3976 pure elemental module function isValidZone_IK(zone)
result(isValid)
3977#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3978 !DEC$ ATTRIBUTES DLLEXPORT :: isValidZone_IK
3981 integer(IKG),
intent(in) :: zone
3982 logical(LKG) :: isValid
4049#define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
4056#define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
4093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4097 integer(IK) :: values(
8)
4098 call date_and_time(values
= values)
4099 CHECK_ASSERTION(__LINE__,
all(values
/= -huge(values)), SK_
"@dateTimeInt_typer(): The processor does not provide date and time.")
4100 dateTimeInt
%year
= values(
1)
4101 dateTimeInt
%month
= values(
2)
4102 dateTimeInt
%day
= values(
3)
4103 dateTimeInt
%zone
= values(
4)
4104 dateTimeInt
%hour
= values(
5)
4105 dateTimeInt
%minute
= values(
6)
4106 dateTimeInt
%second
= values(
7)
4107 dateTimeInt
%millisecond
= values(
8)
4145#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4149 integer(IK) :: values(
8)
4150 values(
1)
= self
%year
4151 values(
2)
= self
%month
4152 values(
3)
= self
%day
4153 values(
4)
= self
%zone
4154 values(
5)
= self
%hour
4155 values(
6)
= self
%minute
4156 values(
7)
= self
%second
4157 values(
8)
= self
%millisecond
4194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4198 character(
10) :: time
4199 character(
8) :: date
4200 character(
5) :: zone
4201 call date_and_time(date
= date, time
= time, zone
= zone)
4202 CHECK_ASSERTION(__LINE__,
len_trim(date)
/= 0 .or. len_trim(time)
/= 0 .or. len_trim(zone)
/= 0, SK_
"@dateTimeStr_typer(): The processor does not provide date and time.")
4204 dateTimeStr
%year
= date(
1:
4)
4205 dateTimeStr
%month
= date(
5:
6)
4206 dateTimeStr
%day
= date(
7:
8)
4207 dateTimeStr
%zone
= zone
4208 dateTimeStr
%hour
= time(
1:
2)
4209 dateTimeStr
%minute
= time(
3:
4)
4210 dateTimeStr
%second
= time(
5:
6)
4211 dateTimeStr
%millisecond
= time(
8:
10)
4280#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4283 integer(IK),
intent(in) :: year
4284 logical(LK) :: leapYear
4286 leapYear
= mod(year,
400_IK)
== 0_IK .or. (
mod(year,
4_IK)
== 0_IK .and. mod(year,
100_IK)
/= 0_IK)
4346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4349 integer(IK) :: millisecond
4350 integer(IK) :: values(
8)
4351 call date_and_time(values
= values)
4352 CHECK_ASSERTION(__LINE__,
all(values
/= -huge(values)), SK_
"@getMillisecond(): The processor does not provide date and time.")
4353 millisecond
= values(
8)
4406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4409 integer(IK) :: second
4410 integer(IK) :: values(
8)
4411 call date_and_time(values
= values)
4412 CHECK_ASSERTION(__LINE__,
all(values
/= -huge(values)), SK_
"@getSecond(): The processor does not provide date and time.")
4466#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4469 integer(IK) :: minute
4470 integer(IK) :: values(
8)
4471 call date_and_time(values
= values)
4472 CHECK_ASSERTION(__LINE__,
all(values
/= -huge(values)), SK_
"@getMinute(): The processor does not provide date and time.")
4529 impure elemental function getHour(zone)
result(hour)
4530#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4531 !DEC$ ATTRIBUTES DLLEXPORT ::
getHour
4534 integer(IKG),
intent(in),
optional :: zone
4535 integer(IKG) :: hour
4536 integer(IKG) :: values(
8)
4537 if (
present(zone))
then
4538 CHECK_ASSERTION(__LINE__,
isValidZone(zone), SK_
"@getHour(): The condition `isValidZone(zone)` must hold. zone = "//getStr(zone))
4597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4598 !DEC$ ATTRIBUTES DLLEXPORT ::
getZone
4601 integer(IK) :: values(
8)
4602 call date_and_time(values
= values)
4603 CHECK_ASSERTION(__LINE__,
all(values
/= -huge(values)), SK_
"@getZone(): The processor does not provide date and time.")
4657#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4658 !DEC$ ATTRIBUTES DLLEXPORT ::
getDay
4661 integer(IK) :: values(
8)
4662 call date_and_time(values
= values)
4663 CHECK_ASSERTION(__LINE__,
all(values
/= -huge(values)), SK_
"@getDay(): The processor does not provide date and time.")
4717#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4718 !DEC$ ATTRIBUTES DLLEXPORT ::
getMonth
4720 integer(IK) :: month
4721 integer(IK) :: values(
8)
4722 call date_and_time(values
= values)
4723 CHECK_ASSERTION(__LINE__,
all(values
/= -huge(values)), SK_
"@getMonth(): The processor does not provide date and time.")
4777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4778 !DEC$ ATTRIBUTES DLLEXPORT ::
getYear
4781 integer(IK) :: values(
8)
4782 call date_and_time(values
= values)
4783 CHECK_ASSERTION(__LINE__,
all(values
/= -huge(values)), SK_
"@getMonth(): The processor does not provide date and time.")
4800 function getNiceDateTime()
result(niceDateTime)
4801#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4802 !DEC$ ATTRIBUTES DLLEXPORT :: getNiceDateTime
4805 character(
len=21) :: niceDateTime
4806 character(
10) :: time
4807 character(
8) :: date
4808 call date_and_time(date,time)
4809 niceDateTime
= date(
1:
4)
//'/'//date(
5:
6)
//'/'//date(
7:
8)
//' - '//time(
1:
2)
//':'//time(
3:
4)
//':'//time(
5:
6)
4810 end function getNiceDateTime
4816#undef CHECK_ASSERTION
Generate and return the total number of days in the specified year or the month of the year of the Gr...
Generate and return the number of leap years within the closed year interval [since,...
Generate and return the number of weeks in the specified year or the month of the year of the Gregori...
Generate and return the date in the Gregorian Calendar that appears after the input date.
Generate and return the date in the Gregorian Calendar that appears before the input date.
Generate and return the calendarical difference in days between the two input Gregorian dates octuple...
Generate and return the current or the requested date and time in the requested time zone newzone (in...
Generate and return the current or the requested Gregorian date and time shifted by the specified amo...
Generate and return the current or the requested date and time converted to the corresponding Coordin...
Generate and return the current or the requested date and time as an integer-valued array of size 8 o...
Generate and return the current 12-hour-clock local hour of the current day of the Gregorian calendar...
Generate and return the Julian Date (Julian Day Number JDN + the fractional part of the day) from the...
Generate and return the ordinal day, also knowns as Day of Year (DOY), i.e., the number of days since...
Generate and return the ISO 8601 Week Date triple [week year, week number, week day] corresponding to...
Generate and return the day number of the week of a Gregorian Calendar date, assuming Monday is the f...
Generate and return the day number of the week of a Gregorian Calendar date, assuming Sunday is the z...
Generate and return the Week Number, i.e., the number of weeks of the input year until and including ...
Generate and return the week year corresponding to the ISO 8601 Week Date triple [week year,...
Generate and return the time zone abbreviation corresponding to the current local time or the specifi...
Generate and return .true. if the input date (year, month, day) triple corresponds to the last day of...
Generate and return .true. if the hour in the current or the input time zone (-720 : +840) is Ante Me...
Generate and return .true. if the input date and time values(:) or (year, month, day,...
Generate and return .true. is the input time zone zone in units of minutes is valid (i....
Generate and return a decorated string resulting from the concatenation of getFile(FILE) and getLine(...
Verify the input assertion holds and if it does not, print the (optional) input message on stdout and...
Generate and return the conversion of the input value to an output Fortran string,...
This module contains classes and procedures for computing, manipulating, and styling dates and times.
character(*, SK), parameter MODULE_NAME
real(RK), parameter MEAN_SECONDS_PER_MONTH
The constant scalar of type real of default kind RK containing the average number of seconds per mont...
integer(IK) function getYear()
Generate and return the current year of the Gregorian calendar.
integer(IK), dimension(12), parameter DAYS_OF_MONTH_LEAP
The integer constant vector of size 12 containing number of days in each month of a leap year of the ...
integer(IK) function getZone()
Generate and return the local time difference in minutes with respect to the Coordinated Universal Ti...
integer(IK), dimension(8), parameter ORIGIN
The constant vector of size 8 of type integer of default kind IK containing origin of the Gregorian c...
real(RK), parameter MEAN_DAYS_PER_YEAR
The constant scalar of type real of default kind RK containing the average number of days per year.
type(dateTimeStr_type) function dateTimeStr_typer()
This is the constructor of the dateTimeStr_type class.
character(9, SK), dimension(0:6), parameter WEEKDAY_NAME
The character constant vector of shape (0:6) of length type parameter 9 containing the names of the d...
integer(IK), parameter MINUTES_PER_DAY
The constant scalar of type integer of kind IK containing the number of minutes per day.
pure elemental logical(LK) function isLeapYear(year)
Generate and return .true. if the input year is a leap year.
integer(IK), parameter ZONE_MAX
The scalar constant of default integer kind IK representing the current maximum existing time zone va...
integer(IK) function, dimension(8) getDateTimeIntValues(self)
Generate and return an integer vector of length 8 containing all component values of the parent objec...
real(RK), parameter MEAN_MINUTES_PER_MONTH
The constant scalar of type real of default kind RK containing the average number of minutes per mont...
integer(IK) function getMinute()
Generate and return the current minute of the local hour of the current day of the Gregorian calendar...
character(*, SK), dimension(12), parameter MONTH_NAME
The character constant vector of size 12 of length type-parameter 9, containing full names of the mon...
real(RK), parameter MEAN_DAYS_PER_MONTH
The constant scalar of type real of default kind RK containing the average number of days per month.
real(RK), parameter MEAN_WEEKS_PER_MONTH
The constant scalar of type real of default kind RK containing the approximate (rounded) average numb...
real(RK), parameter MEAN_HOURS_PER_YEAR
The constant scalar of type real of default kind RK containing the average number of hours per year.
real(RK), parameter MEAN_HOURS_PER_MONTH
The constant scalar of type real of default kind RK containing the average number of hours per month.
real(RK), parameter MEAN_SECONDS_PER_YEAR
The constant scalar of type real of default kind RK containing the average number of seconds per year...
integer(IK), parameter SECONDS_PER_DAY
The constant scalar of type integer of kind IK containing the number of seconds per day.
integer(IK) function getMillisecond()
Generate and return the current millisecond of the current second of the current minute of the local ...
impure elemental integer(IKG) function getHour(zone)
Generate and return the current local hour of the current day of the Gregorian calendar,...
type(dateTimeInt_type) function dateTimeInt_typer()
This is the constructor of the dateTimeInt_type class.
integer(IK) function getSecond()
Generate and return the current second of the current minute of the local hour of the current day of ...
real(RK), parameter MEAN_WEEKS_PER_YEAR
The constant scalar of type real of default kind RK containing the approximate (rounded) average numb...
integer(IK) function getMonth()
Generate and return the current month of the Gregorian calendar.
type(timeZone_type), parameter timeZone
This is an object parameter of type timeZone_type containing a list of time zones and their represent...
integer(IK), parameter ZONE_MIN
The scalar constant of default integer kind IK representing the current minimum existing time zone va...
real(RK), parameter MEAN_MINUTES_PER_YEAR
The constant scalar of type real of default kind RK containing the average number of minutes per year...
integer(IK), dimension(12), parameter DAYS_OF_MONTH
The integer constant vector of size 12 containing number of days in each month of a common (non-leap)...
character(9, SK), dimension(1:7), parameter WEEKDAY_NAME_ISO
The character constant vector of size 7 of length type parameter 9 containing the names of the days o...
integer(IK) function getDay()
Generate and return the current day of the Gregorian calendar.
This module contains classes and procedures for reporting and handling errors.
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
integer, parameter RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
This module contains the generic procedures for converting values of different types and kinds to For...
This is the derived type containing the components of a numeric date and time in the Gregorian calend...
This is the derived type containing the string components that contain numeric date and time in the G...
This is the derived type for generating object parameters containing a list of time zones and their r...