软件构造Lab3一点技巧

这篇博客讨论了Java中Date和Calendar类在表示和设置时间时的复杂性和不直观性,如星期日的表示不一致。文章推荐使用LocalDate类,它提供了更友好的日期操作方法,并通过示例展示了如何进行日期的格式化转换,提高了代码的可读性和易用性。使用LocalDate可以有效地解决实验中与日期相关的属性设计问题。
摘要由CSDN通过智能技术生成

Java中常见的表示时间的类的一些问题

在java中一般表示时间的方法有Date和Calendar

其方法如下:

但是用这些方法存在一些缺陷,就是表示和设定很复杂,反人类。

例如:

Calendar调用get(Calendar.DAY_OF_WEEK)

其返回值1代表星期日、2代表星期一、3代表星期二,以此类推

Date调用getDay()

其返回值0代表星期日、1代表星期一、2代表星期二,以此类推

这并不符合我们一般的认知(即1-7分别表示周一到周日)。

此外还存在不格式化,其打印结果可读性差的问题。

LocalDate类

其基本方法如下:

根据格式与String的相互转化:

LocalDate to String

LocalDate test = LocalDate.now();

 DateTimeFormatter D2Sfmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");

String str  = test.format(D2Sfmt);

String to LocalDate

String str  = "2021-06-24";

DateTimeFormatter S2Dfmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");

LocalDate test = LocalDate.parse(str,S2Dfmt);

根据上述的方法,我们可以很好的设计软件构造lab3中与日期相关的属性。

利用LocalDate类来实现Lab3可以很好的解决实验中的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值