parquet_timestamp Interface

public interface parquet_timestamp

Constructs a valid parquet_timestamp, either from full civil fields (year, month, day, hour, minute, second[, nanosecond]) -- aborting on invalid fields -- or from a (parquet_date, parquet_time) pair, where a null input propagates to a null result.


Module Procedures

private impure elemental function ts_new_civil(year, month, day, hour, minute, second, nanosecond) result(res)

Civil-fields constructor specific for the parquet_timestamp generic; aborts on invalid fields.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: year

calendar year.

integer(kind=int32), intent(in) :: month

month, 1..12.

integer(kind=int32), intent(in) :: day

day of month.

integer(kind=int32), intent(in) :: hour

hour, 0..23.

integer(kind=int32), intent(in) :: minute

minute, 0..59.

integer(kind=int32), intent(in) :: second

second, 0..59.

integer(kind=int32), intent(in), optional :: nanosecond

sub-second part, 0..999999999 (default 0).

Return Value type(parquet_timestamp)

the constructed element (valid).

private impure elemental function ts_new_date_time(date, time) result(res)

Date-plus-time constructor specific for the parquet_timestamp generic; a null input propagates to a null result (never aborts).

Arguments

Type IntentOptional Attributes Name
type(parquet_date), intent(in) :: date

the calendar-date part.

type(parquet_time), intent(in) :: time

the time-of-day part.

Return Value type(parquet_timestamp)

the constructed element (null if an input is null).