文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

今天的Erlang Thursday讲的是 calendar:valid_date/3.

本来这次我是想讲函数 calendar:time_difference/3 ,但是当我详细看了 calendar 模块的官方文档后,发现文档里已经说这个函数被淘汰了,所以今天我讲 calendar:valid_date/3 。

calendar:valid_date/3 的入参分别是一个表示年份的整数、一个表示月份的整数以及一个表示日的整数。如果传入的日期是有效的,则 calendar:valid_date/3 返回原子true,如果传入的日期是无效的,则 calendar:valid_date/3 返回原子false。

calendar:valid_date(2015, 04, 31).
% false
calendar:valid_date(2015, 04, 30).
% true
calendar:valid_date(2015, 02, 29).
% false
calendar:valid_date(2012, 02, 29).
% true
calendar:valid_date(2015, 11, 31).
% false
calendar:valid_date(2015, 11, 76).
% false
calendar:valid_date(2015, 17, 13).
% false
第 1 段(可获 2 积分)

我们也可以快速地检查一下本篇文章发布的日期也是有效日期。

calendar:valid_date(2015, 04, 23).
% true

现在让我们看看入参中有0或负整数情况会怎么样?

calendar:valid_date(-1, 04, 23).
% false
calendar:valid_date(2015, -7, 21).
% false
calendar:valid_date(2015, 7, -13).
% false
calendar:valid_date(0, 0, 0).
% false

正如人们所希望的,除非你要经常处理公元前的日期,不然的话有一个负数的日期是无效的。

Erlang也提供了函数 calendar:valid_date/1 ,它的入参是由年、月、日三个整数组成的元组。

calendar:valid_date({2015, 11, 76}).
% false
calendar:valid_date({2015, 04, 23}).
% true

第 2 段(可获 2 积分)

文章评论