《Java经典入门指南》课后习题及答案Chapter13

本文主要探讨《Java经典入门指南》中Chapter13的课后习题,涉及旧的日期-时间API的不足,如Date和Calendar类的问题,以及新的日期-时间API的改进,包括核心包java.time中的主要类如Instant、LocalDate等,以及Period和Duration的区别。此外,还介绍了时区标识符和DateTimeFormatter在格式化日期和时间中的应用。
摘要由CSDN通过智能技术生成

《Java经典入门指南》课后习题及答案Chapter13

1.旧的日期-时间API中的两个核心类是什么?

answer:这两个类是java.util.Date和java.util.Calendar。

2.为什么旧的日期-时间API被淘汰了?

answer:因为许多功能不适用或者不容易使用。例如:Date类的设计很糟糕,月份从1开始,天从0开始。

3.新的日期-时间API有哪些包?

answer:核心类包含在java.time包中,另外还有4个使用不多的包:java.time.chrono;java.time.format;java.time.temporal;和java.time.zone。

4.核心包中的主要类包括哪些?

answer:核心包java.time包含的主要类有:Instant类;LocalDate类;LocalDateTime类;LocalTime类;ZonedDateTime类;Duration类;Period类;DateTime Formatter类等。java.time包还有两个枚举类型:DayOfWeek和Month.

5.创建LocalDate、LocalDateTime和ZonedDateTime的两种静态方法分别是什么?

answer:分别是now静态方法和of静态方法。

6.Period和Duration有什么不同?

answer:Period基于日期(以年月日的形式给出结果),Duration基于时间(以小时和分钟的形式给出结果)。

7.什么是为操作计时的最简单的方法?

answer:Duration类的between方法。

8.如何获得所有时区标识符的一个Set?

answer:

package com.basic;

import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;

public class TimeZoneDemo1 {
        public static void main(String[] args) {
            Set<String> allZoneIds = ZoneId.getAvailableZoneIds();
            List<String> zoneList = new ArrayList<>(allZoneIds);

            Collections.sort(zoneList);
            for (String zoneId : zoneList) {
                System.out.println(zoneId);
            }
            // 或者,读者可以使用下面的代码
            // 打印出排序后的时区id的列表
             ZoneId.getAvailableZoneIds().stream().sorted().
                  forEach(System.out::println);
    }
}

9.新的日期和时间API中的日期-时间格式化器类是什么?

answer:新的日期和时间API中的日期-时间格式化器类是Java.time.format.DateTimeFormatter。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值