SUEWS API Site
Documentation of SUEWS source code
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
mod_datetime::datetime Interface Reference

Public Member Functions

PROCEDURE, pass, public getyear
 
PROCEDURE, pass, public getmonth
 
PROCEDURE, pass, public getday
 
PROCEDURE, pass, public gethour
 
PROCEDURE, pass, public getminute
 
PROCEDURE, pass, public getsecond
 
PROCEDURE, pass, public getmillisecond
 
PROCEDURE, pass, public gettz
 
PROCEDURE, pass, public isocalendar
 
PROCEDURE, pass, public isoformat
 
PROCEDURE, pass, public isvalid
 
PROCEDURE, nopass, public now
 
PROCEDURE, pass, public secondssinceepoch
 
PROCEDURE, pass, public strftime
 
PROCEDURE, pass, public tm
 
PROCEDURE, pass, public tzoffset
 
PROCEDURE, pass, public utc
 
PROCEDURE, pass, public weekday
 
PROCEDURE, pass, public isoweekday
 
PROCEDURE, pass, public weekdaylong
 
PROCEDURE, pass, public isoweekdaylong
 
PROCEDURE, pass, public weekdayshort
 
PROCEDURE, pass, public isoweekdayshort
 
PROCEDURE, pass, public yearday
 
GENERIC operator => datetime_plus_timedelta, timedelta_plus_datetime
 
GENERIC operator => datetime_minus_datetime, datetime_minus_timedelta
 
GENERIC operator => eq
 
GENERIC operator => neq
 
GENERIC operator => gt
 
GENERIC operator => ge
 
GENERIC operator => lt
 
GENERIC operator => le
 

Public Attributes

integer month = 1
 
integer day = 1
 
integer hour = 0
 
integer minute = 0
 
integer second = 0
 
integer millisecond = 0
 
real(kind=real64) tz = 0
 

Private Member Functions

PROCEDURE, pass, private addmilliseconds
 
PROCEDURE, pass, private addseconds
 
PROCEDURE, pass, private addminutes
 
PROCEDURE, pass, private addhours
 
PROCEDURE, pass, private adddays
 
PROCEDURE, pass, private datetime_plus_timedelta
 
PROCEDURE, pass, private timedelta_plus_datetime
 
PROCEDURE, pass, private datetime_minus_datetime
 
PROCEDURE, pass, private datetime_minus_timedelta
 
PROCEDURE, pass, private eq
 
PROCEDURE, pass, private neq
 
PROCEDURE, pass, private gt
 
PROCEDURE, pass, private ge
 
PROCEDURE, pass, private lt
 
PROCEDURE, pass, private le
 
pure elemental type(datetime) function datetime_constructor (year, month, day, hour, minute, second, millisecond, tz)
 

Private Attributes

integer year = 1
 

Detailed Description

Definition at line 475 of file suews_util_datetime.f95.

Member Function/Subroutine Documentation

◆ adddays()

PROCEDURE, pass, private mod_datetime::datetime::adddays
private

Definition at line 526 of file suews_util_datetime.f95.

◆ addhours()

PROCEDURE, pass, private mod_datetime::datetime::addhours
private

Definition at line 525 of file suews_util_datetime.f95.

◆ addmilliseconds()

PROCEDURE, pass, private mod_datetime::datetime::addmilliseconds
private

Definition at line 522 of file suews_util_datetime.f95.

◆ addminutes()

PROCEDURE, pass, private mod_datetime::datetime::addminutes
private

Definition at line 524 of file suews_util_datetime.f95.

◆ addseconds()

PROCEDURE, pass, private mod_datetime::datetime::addseconds
private

Definition at line 523 of file suews_util_datetime.f95.

◆ datetime_constructor()

pure elemental type(datetime) function mod_datetime::datetime::datetime_constructor ( integer, intent(in), optional  year,
integer, intent(in), optional  month,
integer, intent(in), optional  day,
integer, intent(in), optional  hour,
integer, intent(in), optional  minute,
integer, intent(in), optional  second,
integer, intent(in), optional  millisecond,
real(kind=real64), intent(in), optional  tz 
)
private

Definition at line 560 of file suews_util_datetime.f95.

562
563 !! Constructor function for the `datetime` class.
564
565 INTEGER, INTENT(in), OPTIONAL :: year !! year
566 INTEGER, INTENT(in), OPTIONAL :: month !! month
567 INTEGER, INTENT(in), OPTIONAL :: day !! day
568 INTEGER, INTENT(in), OPTIONAL :: hour !! hour
569 INTEGER, INTENT(in), OPTIONAL :: minute !! minute
570 INTEGER, INTENT(in), OPTIONAL :: second !! second
571 INTEGER, INTENT(in), OPTIONAL :: millisecond !! millisecond
572 REAL(kind=real64), INTENT(in), OPTIONAL :: tz !! timezone offset in hours
573
574 IF (PRESENT(year)) THEN
575 datetime_constructor%year = year
576 ELSE
577 datetime_constructor%year = 1
578 END IF
579
580 IF (PRESENT(month)) THEN
581 datetime_constructor%month = month
582 ELSE
583 datetime_constructor%month = 1
584 END IF
585
586 IF (PRESENT(day)) THEN
587 datetime_constructor%day = day
588 ELSE
589 datetime_constructor%day = 1
590 END IF
591
592 IF (PRESENT(hour)) THEN
593 datetime_constructor%hour = hour
594 ELSE
595 datetime_constructor%hour = 0
596 END IF
597
598 IF (PRESENT(minute)) THEN
599 datetime_constructor%minute = minute
600 ELSE
601 datetime_constructor%minute = 0
602 END IF
603
604 IF (PRESENT(second)) THEN
605 datetime_constructor%second = second
606 ELSE
607 datetime_constructor%second = 0
608 END IF
609
610 IF (PRESENT(millisecond)) THEN
611 datetime_constructor%millisecond = millisecond
612 ELSE
613 datetime_constructor%millisecond = 0
614 END IF
615
616 IF (PRESENT(tz)) THEN
617 datetime_constructor%tz = tz
618 ELSE
619 datetime_constructor%tz = 0
620 END IF
621

References mod_datetime::datetime_constructor().

Here is the call graph for this function:

◆ datetime_minus_datetime()

PROCEDURE, pass, private mod_datetime::datetime::datetime_minus_datetime
private

Definition at line 531 of file suews_util_datetime.f95.

◆ datetime_minus_timedelta()

PROCEDURE, pass, private mod_datetime::datetime::datetime_minus_timedelta
private

Definition at line 532 of file suews_util_datetime.f95.

◆ datetime_plus_timedelta()

PROCEDURE, pass, private mod_datetime::datetime::datetime_plus_timedelta
private

Definition at line 529 of file suews_util_datetime.f95.

◆ eq()

PROCEDURE, pass, private mod_datetime::datetime::eq
private

Definition at line 533 of file suews_util_datetime.f95.

◆ ge()

PROCEDURE, pass, private mod_datetime::datetime::ge
private

Definition at line 536 of file suews_util_datetime.f95.

◆ getday()

PROCEDURE, pass, public mod_datetime::datetime::getday

Definition at line 496 of file suews_util_datetime.f95.

◆ gethour()

PROCEDURE, pass, public mod_datetime::datetime::gethour

Definition at line 497 of file suews_util_datetime.f95.

◆ getmillisecond()

PROCEDURE, pass, public mod_datetime::datetime::getmillisecond

Definition at line 500 of file suews_util_datetime.f95.

◆ getminute()

PROCEDURE, pass, public mod_datetime::datetime::getminute

Definition at line 498 of file suews_util_datetime.f95.

◆ getmonth()

PROCEDURE, pass, public mod_datetime::datetime::getmonth

Definition at line 495 of file suews_util_datetime.f95.

◆ getsecond()

PROCEDURE, pass, public mod_datetime::datetime::getsecond

Definition at line 499 of file suews_util_datetime.f95.

◆ gettz()

PROCEDURE, pass, public mod_datetime::datetime::gettz

Definition at line 501 of file suews_util_datetime.f95.

◆ getyear()

PROCEDURE, pass, public mod_datetime::datetime::getyear

Definition at line 494 of file suews_util_datetime.f95.

◆ gt()

PROCEDURE, pass, private mod_datetime::datetime::gt
private

Definition at line 535 of file suews_util_datetime.f95.

◆ isocalendar()

PROCEDURE, pass, public mod_datetime::datetime::isocalendar

Definition at line 504 of file suews_util_datetime.f95.

◆ isoformat()

PROCEDURE, pass, public mod_datetime::datetime::isoformat

Definition at line 505 of file suews_util_datetime.f95.

◆ isoweekday()

PROCEDURE, pass, public mod_datetime::datetime::isoweekday

Definition at line 514 of file suews_util_datetime.f95.

◆ isoweekdaylong()

PROCEDURE, pass, public mod_datetime::datetime::isoweekdaylong

Definition at line 516 of file suews_util_datetime.f95.

◆ isoweekdayshort()

PROCEDURE, pass, public mod_datetime::datetime::isoweekdayshort

Definition at line 518 of file suews_util_datetime.f95.

◆ isvalid()

PROCEDURE, pass, public mod_datetime::datetime::isvalid

Definition at line 506 of file suews_util_datetime.f95.

◆ le()

PROCEDURE, pass, private mod_datetime::datetime::le
private

Definition at line 538 of file suews_util_datetime.f95.

◆ lt()

PROCEDURE, pass, private mod_datetime::datetime::lt
private

Definition at line 537 of file suews_util_datetime.f95.

◆ neq()

PROCEDURE, pass, private mod_datetime::datetime::neq
private

Definition at line 534 of file suews_util_datetime.f95.

◆ now()

PROCEDURE, nopass, public mod_datetime::datetime::now

Definition at line 507 of file suews_util_datetime.f95.

◆ operator() [1/8]

GENERIC mod_datetime::datetime::operator

Definition at line 542 of file suews_util_datetime.f95.

References mod_datetime::datetime_minus_datetime(), and mod_datetime::datetime_minus_timedelta().

Here is the call graph for this function:

◆ operator() [2/8]

GENERIC mod_datetime::datetime::operator

Definition at line 540 of file suews_util_datetime.f95.

References mod_datetime::datetime_plus_timedelta(), and mod_datetime::timedelta_plus_datetime().

Here is the call graph for this function:

◆ operator() [3/8]

GENERIC mod_datetime::datetime::operator

Definition at line 544 of file suews_util_datetime.f95.

References mod_timedelta::eq().

Here is the call graph for this function:

◆ operator() [4/8]

GENERIC mod_datetime::datetime::operator

Definition at line 547 of file suews_util_datetime.f95.

References mod_timedelta::ge().

Here is the call graph for this function:

◆ operator() [5/8]

GENERIC mod_datetime::datetime::operator

Definition at line 546 of file suews_util_datetime.f95.

References mod_timedelta::gt().

Here is the call graph for this function:

◆ operator() [6/8]

GENERIC mod_datetime::datetime::operator

Definition at line 549 of file suews_util_datetime.f95.

References mod_datetime::datetime_constructor(), and mod_timedelta::le().

Here is the call graph for this function:

◆ operator() [7/8]

GENERIC mod_datetime::datetime::operator

Definition at line 548 of file suews_util_datetime.f95.

References mod_timedelta::lt().

Here is the call graph for this function:

◆ operator() [8/8]

GENERIC mod_datetime::datetime::operator

Definition at line 545 of file suews_util_datetime.f95.

References mod_timedelta::neq().

Here is the call graph for this function:

◆ secondssinceepoch()

PROCEDURE, pass, public mod_datetime::datetime::secondssinceepoch

Definition at line 508 of file suews_util_datetime.f95.

◆ strftime()

PROCEDURE, pass, public mod_datetime::datetime::strftime

Definition at line 509 of file suews_util_datetime.f95.

◆ timedelta_plus_datetime()

PROCEDURE, pass, private mod_datetime::datetime::timedelta_plus_datetime
private

Definition at line 530 of file suews_util_datetime.f95.

◆ tm()

PROCEDURE, pass, public mod_datetime::datetime::tm

Definition at line 510 of file suews_util_datetime.f95.

◆ tzoffset()

PROCEDURE, pass, public mod_datetime::datetime::tzoffset

Definition at line 511 of file suews_util_datetime.f95.

◆ utc()

PROCEDURE, pass, public mod_datetime::datetime::utc

Definition at line 512 of file suews_util_datetime.f95.

◆ weekday()

PROCEDURE, pass, public mod_datetime::datetime::weekday

Definition at line 513 of file suews_util_datetime.f95.

◆ weekdaylong()

PROCEDURE, pass, public mod_datetime::datetime::weekdaylong

Definition at line 515 of file suews_util_datetime.f95.

◆ weekdayshort()

PROCEDURE, pass, public mod_datetime::datetime::weekdayshort

Definition at line 517 of file suews_util_datetime.f95.

◆ yearday()

PROCEDURE, pass, public mod_datetime::datetime::yearday

Definition at line 519 of file suews_util_datetime.f95.

Member Data Documentation

◆ day

integer mod_datetime::datetime::day = 1

Definition at line 483 of file suews_util_datetime.f95.

483 INTEGER :: day = 1 !! day in month [1-31]

◆ hour

integer mod_datetime::datetime::hour = 0

Definition at line 484 of file suews_util_datetime.f95.

484 INTEGER :: hour = 0 !! hour in day [0-23]

◆ millisecond

integer mod_datetime::datetime::millisecond = 0

Definition at line 487 of file suews_util_datetime.f95.

487 INTEGER :: millisecond = 0 !! milliseconds in second [0-999]

◆ minute

integer mod_datetime::datetime::minute = 0

Definition at line 485 of file suews_util_datetime.f95.

485 INTEGER :: minute = 0 !! minute in hour [0-59]

◆ month

integer mod_datetime::datetime::month = 1

Definition at line 482 of file suews_util_datetime.f95.

482 INTEGER :: month = 1 !! month in year [1-12]

◆ second

integer mod_datetime::datetime::second = 0

Definition at line 486 of file suews_util_datetime.f95.

486 INTEGER :: second = 0 !! second in minute [0-59]

◆ tz

real(kind=real64) mod_datetime::datetime::tz = 0

Definition at line 489 of file suews_util_datetime.f95.

489 REAL(kind=real64) :: tz = 0 !! timezone offset from UTC [hours]

◆ year

integer mod_datetime::datetime::year = 1
private

Definition at line 481 of file suews_util_datetime.f95.

481 INTEGER :: year = 1 !! year [1-HUGE(year)]

The documentation for this interface was generated from the following file: