Java基础编程500题——日期和时间API

💥 该系列属于【Java基础编程500题】专栏,如您需查看Java基础的其他相关题目,请您点击左边的连接

目录

1. 获取当前日期和时间,并格式化为"yyyy年MM月dd日 HH:mm:ss"的格式输出。

2. 计算明天此刻的时间,并以"yyyy-MM-dd HH:mm:ss"的格式输出。

3. 获取当前日期,并输出今天是星期几。

4. 给定一个日期字符串"2022-01-01 10:10:10",将其转换为LocalDateTime对象,并输出该日期的下一个月第一天。

5. 给定一个LocalDate对象,输出该日期所在月的最后一天。

6. 给定一个LocalTime对象,将该时间增加2小时30分钟后输出。

7. 计算从现在开始一周后的日期,并输出。

8. 将一个日期字符串"2023-04-05"按照"dd/MM/yyyy"的格式输出。

9. 编写一个方法,接受一个LocalTime对象,判断并返回该时间是否在下午5点至晚上8点之间。

10. 给定一个字符串"2023-03-15T13:45:30",将其解析为LocalDateTime对象,并输出。

11. 编写一个方法,接受一个LocalTime对象和一个分钟数,返回减少指定分钟后的LocalTime对象。

12. 编写一个方法,接受两个LocalTime对象,计算并返回它们之间相差的小时数。

13. 编写一个方法,接受两个LocalDate对象,计算并返回它们之间相差的天数。


 ✨✨  返回题目目录 ✨ ✨ 

Java基础编程500题


1. 获取当前日期和时间,并格式化为"yyyy年MM月dd日 HH:mm:ss"的格式输出。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {

        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        String formattedDateTime = now.format(formatter);
        System.out.println("当前日期和时间:" + formattedDateTime);
        
    }
}

2. 计算明天此刻的时间,并以"yyyy-MM-dd HH:mm:ss"的格式输出。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        LocalDateTime tomorrow = now.plusDays(1);
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formattedTomorrow = tomorrow.format(formatter);
        System.out.println("明天此刻的时间:" + formattedTomorrow);
    }
}

3. 获取当前日期,并输出今天是星期几。

import java.time.LocalDate;
import java.time.DayOfWeek;

public class Main {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        DayOfWeek dayOfWeek = today.getDayOfWeek();
        System.out.println("今天是星期" + dayOfWeek.getValue());
    }
}

4. 给定一个日期字符串"2022-01-01 10:10:10",将其转换为LocalDateTime对象,并输出该日期的下一个月第一天。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        String dateString = "2022-01-01 10:10:10";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);
        LocalDateTime firstDayOfNextMonth = dateTime.plusMonths(1).withDayOfMonth(1);
        System.out.println("下一个月的第一天:" + firstDayOfNextMonth.format(formatter));
    }
}

5. 给定一个LocalDate对象,输出该日期所在月的最后一天。

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.now();
        LocalDate lastDayOfMonth = date.withDayOfMonth(date.lengthOfMonth());
        System.out.println("这个月的最后一天是:" + lastDayOfMonth);
    }
}

6. 给定一个LocalTime对象,将该时间增加2小时30分钟后输出。

import java.time.LocalTime;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.now();
        LocalTime newTime = time.plusHours(2).plusMinutes(30);
        System.out.println("增加2小时30分钟后是:" + newTime);
    }
}

7. 计算从现在开始一周后的日期,并输出。

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate dateNow = LocalDate.now();
        LocalDate dateAfterOneWeek = dateNow.plusWeeks(1);
        System.out.println("一周后的日期是:" + dateAfterOneWeek);
    }
}

8. 将一个日期字符串"2023-04-05"按照"dd/MM/yyyy"的格式输出。

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        String dateString = "2023-04-05";
        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        LocalDate date = LocalDate.parse(dateString, inputFormatter);
        String formattedDate = date.format(outputFormatter);
        System.out.println("按照'dd/MM/yyyy'格式输出的日期:" + formattedDate);
    }
}

9. 编写一个方法,接受一个LocalTime对象,判断并返回该时间是否在下午5点至晚上8点之间。

import java.time.LocalTime;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.now();
        System.out.println("当前时间是否在下午5点至晚上8点之间:" + isBetweenFiveAndEight(time));
    }

    private static boolean isBetweenFiveAndEight(LocalTime time) {
        return time.isAfter(LocalTime.of(17, 0)) && time.isBefore(LocalTime.of(20, 0));
    }
}

10. 给定一个字符串"2023-03-15T13:45:30",将其解析为LocalDateTime对象,并输出。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        String dateTimeString = "2023-03-15T13:45:30";
        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
        LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter);
        System.out.println("解析的LocalDateTime对象是:" + dateTime);
    }
}

11. 编写一个方法,接受一个LocalTime对象和一个分钟数,返回减少指定分钟后的LocalTime对象。

import java.time.LocalTime;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.now();
        int minutesToSubtract = 15;
        System.out.println("减少 " + minutesToSubtract + " 分钟后的时间是:" + subtractMinutes(time, minutesToSubtract));
    }

    private static LocalTime subtractMinutes(LocalTime time, int minutes) {
        return time.minusMinutes(minutes);
    }
}

12. 编写一个方法,接受两个LocalTime对象,计算并返回它们之间相差的小时数。

import java.time.Duration;
import java.time.LocalTime;

public class Main {
    public static void main(String[] args) {
        LocalTime time1 = LocalTime.of(14, 30);
        LocalTime time2 = LocalTime.of(18, 45);
        System.out.println("两个时间相差的小时数:" + hoursBetween(time1, time2));
    }

    private static long hoursBetween(LocalTime time1, LocalTime time2) {
        return Duration.between(time1, time2).toHours();
    }
}

13. 编写一个方法,接受两个LocalDate对象,计算并返回它们之间相差的天数。

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 1, 1);
        LocalDate date2 = LocalDate.of(2023, 2, 1);
        System.out.println("两个日期相差的天数:" + daysBetween(date1, date2));
    }

    private static long daysBetween(LocalDate date1, LocalDate date2) {
        return ChronoUnit.DAYS.between(date1, date2);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值