软件构造——关于lab3对于时间的处理

本人最近完成了lab3的实验。在完成dutyroster类(排班表)时,需要对时间进行恰当的处理。因为面向现实生活时,必须要考虑不同年份、不同月份对计算时间差天数的处理。我在完成这次实验时也是产生了很大的困扰,最终在室友的帮助下,我利用java的localDate类实现了很好的处理。

下面介绍一下localDate类,我们直接用一组代码来理解:

        LocalDate localDate = LocalDate.now();
        System.out.println("localDate="+localDate);         //localDate=2021-07-05 ,直接获取当天的信息      
        System.out.println("localDate="+localDate.getDayOfWeek().getValue());         //获取星期几
        System.out.println("localDate="+localDate.get(ChronoField.ALIGNED_WEEK_OF_MONTH));         //获取当前月的第几周
        System.out.println(localDate.getDayOfYear());            //获取本年中截止到今天已经过去的天数
 
        System.out.println(localDate.with(TemporalAdjusters.firstDayOfMonth()));  //得到所在月的第一天
        System.out.println(localDate.withDayOfMonth(3));  //得到所在月的第三天
        System.out.println(localDate.with(TemporalAdjusters.lastDayOfMonth()));  //得到所在月的最后一天
        System.out.println(localDate.plusDays(10));  //得到10天后的日期

通过上面的代码,可以对localDate有简单的理解。

在lab3中,我通过(endDate.toEpochDay() - startDate.toEpochDay())的表达式,来间接获得了起止天数差。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值