面试代码题:获取起始时间与结束时间的时间长度

String getTenor(LocalDate startDate,LocalDate endDate);

要求:

(1)Tenor是指起始日与终止日之间的时间长度,以:xD,xW,xM,xY的形式表示。

x为正整数,D为日,W为周,M为月,Y为年。

比如:

getTenor(2017/3/1,2017/4/1) 返回 "1M" 而不是 31D

getTenor(2017/3/1,2018/9/1) 返回 "18M" 而不是 1.5Y(因为x不能位小数),也不是1Y6M(只能出现1个单位,最简形式)

(2)代码需要体现出必要的边界检查

(3)对于实现中需要的日期相关计算函数,可进行必要的假设,不要求提供正确的类库API名称

(4)基于方法实现尽可能多的写出相应的单元测试用例,给出输出参数和期望结果,无需给出具体测试代码实现

你可能感兴趣的:(面试代码题:获取起始时间与结束时间的时间长度)