-type type() ::
#{'__type__' => 'erlang.util.Date',
date => calendar:datetime()}.
-spec '__new__'() -> type().
-spec '__new__'(calendar:datetime()) -> type().
-spec day(type()) -> integer().
-spec hours(type()) -> integer().
-spec minutes(type()) -> integer().
-spec month(type()) -> integer().
-spec seconds(type()) -> integer().
-spec year(type()) -> integer().