java本地时间_Java 本地日期时间

本文详细介绍了Java 8中的日期和时间API,包括LocalDate, LocalTime, LocalDateTime的使用。通过示例代码展示了如何创建、操作这些类的对象,如获取当前日期、创建特定日期时间、从epoch天数转换等。同时,还演示了如何结合Year和MonthDay创建LocalDate,以及LocalDateTime的构建方法。
摘要由CSDN通过智能技术生成

Java日期时间 - Java本地日期时间

本地日期

LocalDate 类表示没有时间或时区的日期。

当时间和时区相关时使用LocalDate。

LocalDate 类包含两个常量,MAX和MIN。

MAX和MIN分别是最大和最小支持的LocalDate。

LocalDate.MAX为+ 999999999-12-31,LocalDate.MIN为-999999999-01-01。

以下代码显示如何创建 LocalDate 对象:

import java.time.LocalDate;

import java.time.Month;

public class Main {

public static void main(String[] args) {

// Get the current local date

LocalDate localDate1 = LocalDate.now();

System.out.println(localDate1);

// Create a local date

LocalDate localDate2 = LocalDate.of(2014, Month.JUNE, 21);

System.out.println(localDate2);

// 10000 days after the epoch date 1970-01-01

LocalDate localDate3 = LocalDate.ofEpochDay(10000);

System.out.println(localDate3);

}

}

上面的代码生成以下结果。

例子

以下代码显示如何合并Year和MonthDay以获取LocalDate。

它在未来五年创造圣诞节。

以下代码将为12月25日创建一个MonthDay,并将其合并到一个年份以获取LocalDate。

import java.time.LocalDate;

import java.time.Month;

import java.time.MonthDay;

import java.time.Year;

import java.time.format.TextStyle;

import java.util.Locale;

public class Main {

public static void main(String[] args) {

MonthDay dec25 = MonthDay.of(Month.DECEMBER, 25);

Year year = Year.now();

for (int i = 1; i <= 5; i++) {

LocalDate ld = year.plusYears(i).atMonthDay(dec25);

int yr = ld.getYear();

String weekDay = ld.getDayOfWeek().getDisplayName(TextStyle.FULL,

Locale.getDefault());

System.out.format("Christmas in %d is on %s.%n", yr, weekDay);

}

}

}

上面的代码生成以下结果。

本地时间

LocalTime 类表示没有日期或时区的时间。

时间表示为纳秒精度。

LocalTime 类包含MIN,MAX,MIDNIGHT和NOON常量

MIN是00:00。 MAX是23:59:59.999999999。MIDNIGHT为00:00。NOON是12:00。

以下代码片段创建 LocalTime 对象:

import java.time.LocalTime;

public class Main {

public static void main(String[] args) {

// current

LocalTime localTime1 = LocalTime.now();

System.out.println(localTime1);

// 09:30

LocalTime localTime2 = LocalTime.of(9, 30);

System.out.println(localTime2);

// 09:30:50

LocalTime localTime3 = LocalTime.of(9, 30, 50);

System.out.println(localTime3);

// 09:30:50.000005678

LocalTime localTime4 = LocalTime.of(9, 30, 50, 5678);

System.out.println(localTime4);

}

}

上面的代码生成以下结果。

本地日期时间

LocalDateTime 类表示没有时区的日期和时间。

LocalDateTime 是 LocalDate 和 LocalTime 的组合。

以下代码显示如何创建 LocalDateTime 对象:

import java.time.LocalDate;

import java.time.LocalDateTime;

import java.time.LocalTime;

import java.time.Month;

public class Main {

public static void main(String[] args) {

// current

LocalDateTime localDateTime1 = LocalDateTime.now();

System.out.println(localDateTime1);

// 2014-06-21T16:12:34

LocalDateTime localDateTime2 = LocalDateTime.of(2014, Month.JUNE, 21, 16, 12, 34);

System.out.println(localDateTime2);

// from a local date and a local time

LocalDate localDate1 = LocalDate.of(2014, 5, 10);

LocalTime localTime= LocalTime.of(16, 18, 41);

LocalDateTime localDateTime3 = LocalDateTime.of(localDate1, localTime);

System.out.println(localDateTime3);

}

}

上面的代码生成以下结果。

码字不易,请大家关注并点赞,有什么问题可以私信我哟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值