> Erlang中文手册 > valid_date/1 检测一个日期时间是否有效

calendar:valid_date/1

检测一个日期时间是否有效

用法:

valid_date(Date) -> boolean()

内部实现:

%% valid_date(Year, Month, Day) = true | false
%% valid_date({Year, Month, Day}) = true | false
%%
-spec valid_date(Year, Month, Day) -> boolean() when
      Year :: integer(),
      Month :: integer(),
      Day :: integer().
valid_date(Y, M, D) when is_integer(Y), is_integer(M), is_integer(D) ->
    valid_date1(Y, M, D).

-spec valid_date1(integer(), integer(), integer()) -> boolean().
valid_date1(Y, M, D) when Y >= 0, M > 0, M  0 ->
    D =
    false.

-spec valid_date(Date) -> boolean() when
      Date :: date().
valid_date({Y, M, D}) ->
    valid_date(Y, M, D).

检测一个日期时间是否有效。

{Date, _Time} = calendar:local_time(),
calendar:valid_date(Date).
calendar:valid_date({2014, 7, 10}).
calendar:valid_date({2014, 13, 10}).