|
◆ datetime_new()
elemental type(datetime) function, public datetime_class::datetime_new |
( |
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 |
msec, |
|
|
integer(kind=int_ll), intent(in), optional |
unixtime, |
|
|
character(len=*), intent(in), optional |
isodate, |
|
|
character(len=*), intent(in), optional |
simpledate |
|
) |
| |
Initialize a datetime object according to the provided arguments If no arguments are passed a missing object is created.
Notice that the optional parameter groups (year, month, hour, minute, msec), (unixtime), (isodate), (simpledate) are mutually exclusive, the results are not guaranteed if arguments of different groups are present.
- Parametri
-
[in] | year | year a.C.; for reasons not yet investigated, only years >0 (a.C.) are allowed |
[in] | month | month, default=1 if year is present, it can also be outside the interval 1-12, the function behaves reasonably in that case |
[in] | day | day, default=1 if year is present, it can have non canonical values too |
[in] | hour | hours, default=0 if year is present, it can have non canonical values too |
[in] | minute | minutes, default=0 if year is present, it can have non canonical values too |
[in] | msec | milliseconds, default=0 if year is present, it can have non canonical values too |
[in] | unixtime | initialize the object to unixtime seconds after 1/1/1970, UNIX convention, notice that this is an 8-byte integer |
[in] | isodate | initialize the object to a date expressed as a string YYYY-MM-DD hh:mm:ss.msc , (iso format), the initial part YYYY-MM-DD is compulsory, the remaining part is optional |
[in] | simpledate | initialize the object to a date expressed as a string YYYYMMDDhh:mm:ss.msc , (iso format), the initial part YYYYMMDD is compulsory, the remaining part is optional |
Definizione alla linea 726 del file datetime_class.F90.
726 ELEMENTAL FUNCTION datetime_le(this, that) RESULT(res) 727 TYPE(datetime), INTENT(IN) :: this, that 730 IF (this == that) THEN 732 ELSE IF (this < that) THEN 738 END FUNCTION datetime_le 741 FUNCTION datetime_add(this, that) RESULT(res) 742 TYPE(datetime), INTENT(IN) :: this 743 TYPE(timedelta), INTENT(IN) :: that 744 TYPE(datetime) :: res 746 INTEGER :: lyear, lmonth, lday, lhour, lminute, lmsec 748 IF (this == datetime_miss .OR. that == timedelta_miss) THEN 751 res%iminuti = this%iminuti + that%iminuti 752 IF (that%month /= 0) THEN 753 CALL getval(res, year=lyear, month=lmonth, day=lday, hour=lhour, & 754 minute=lminute, msec=lmsec) 755 CALL init(res, year=lyear, month=lmonth+that%month, day=lday, & 756 hour=lhour, minute=lminute, msec=lmsec) 760 END FUNCTION datetime_add 763 ELEMENTAL FUNCTION datetime_subdt(this, that) RESULT(res) 764 TYPE(datetime), INTENT(IN) :: this, that 765 TYPE(timedelta) :: res 767 IF (this == datetime_miss .OR. that == datetime_miss) THEN 770 res%iminuti = this%iminuti - that%iminuti 774 END FUNCTION datetime_subdt 777 FUNCTION datetime_subtd(this, that) RESULT(res) 778 TYPE(datetime), INTENT(IN) :: this 779 TYPE(timedelta), INTENT(IN) :: that 780 TYPE(datetime) :: res 782 INTEGER :: lyear, lmonth, lday, lhour, lminute, lmsec 784 IF (this == datetime_miss .OR. that == timedelta_miss) THEN 787 res%iminuti = this%iminuti - that%iminuti 788 IF (that%month /= 0) THEN 789 CALL getval(res, year=lyear, month=lmonth, day=lday, hour=lhour, & 790 minute=lminute, msec=lmsec) 791 CALL init(res, year=lyear, month=lmonth-that%month, day=lday, & 792 hour=lhour, minute=lminute, msec=lmsec) 796 END FUNCTION datetime_subtd 803 SUBROUTINE datetime_read_unit(this, unit) 804 TYPE(datetime), INTENT(out) :: this 805 INTEGER, INTENT(in) :: unit 806 CALL datetime_vect_read_unit((/this/), unit) 808 END SUBROUTINE datetime_read_unit 815 SUBROUTINE datetime_vect_read_unit(this, unit) 816 TYPE(datetime) :: this(:) 817 INTEGER, INTENT(in) :: unit 819 CHARACTER(len=40) :: form 820 CHARACTER(len=23), ALLOCATABLE :: dateiso(:)
|