欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

errorsk-4nQwBFp0LP8NpyK9WwwoT3BlbkFJyH23SKdFWR1P9Sr63sF8

最编程 2024-08-13 07:17:27
...

原标题:死磕18个Java8日期处理,工作必用!

链接:http://suo.im/5RJhaU

Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。

Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。

新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。

44fa0d5125f68a336ba27df8c7f848b0.png

示例1:Java 8中获取今天的日期

Java 8 中的 LocalDate 用于表示当天日期。和java.util.Date不同,它只有日期,不包含时间。当你仅需要表示日期时就用这个类。

packagecom.shxt.demo02;

importjava.time.LocalDate;

publicclassDemo01{

publicstaticvoidmain(String[] args){

LocalDate today = LocalDate.now;

System.out.println( "今天的日期:"+today);

}

}

示例2:Java 8中获取年、月、日信息package com.shxt.demo02;

import java. time.LocalDate;

publicclassDemo02 {

publicstatic void main( String[] args) {

LocalDate today = LocalDate. now;

intyear= today.getYear;

intmonth= today.getMonthValue;

intday= today.getDayOfMonth;

System.out.println( "year:"+ year);

System.out.println( "month:"+ month);

System.out.println( "day:"+ day);

}

}

示例3:Java 8中处理特定日期

我们通过静态工厂方法now非常容易地创建了当天日期,你还可以调用另一个有用的工厂方法LocalDate.of创建任意日期, 该方法需要传入年、月、日做参数,返回对应的LocalDate实例。这个方法的好处是没再犯老API的设计错误,比如年度起始于1900,月份是从0开 始等等。

packagecom.shxt.demo02;

importjava.time.LocalDate;

publicclassDemo03{

publicstaticvoidmain(String[] args){

LocalDate date = LocalDate.of( 2018, 2, 6);

System.out.println( "自定义日期:"+date);

}

}

示例4:Java 8中判断两个日期是否相等package com.shxt.demo02;

import java.time.LocalDate;

publicclassDemo04{

publicstaticvoidmain( String[] args){

LocalDate date1 = LocalDate.now;

LocalDate date2 = LocalDate.of( 2018, 2, 5);

if(date1. equals(date2)){

System. out.println( "时间相等");

}