一、SimpleDateFormat
1.作用
用于将Date保存的日期时间,按照指定格式输出。
2.构造器
SimpleDateFormat(String pattern)
使用给定模式SimpleDateFormat
并使用默认的FORMAT
语言环境的默认日期格式符号。
3.方法
|
String
|format(Date date)
将日期格式化成日期/时间字符串。|
Date
|parse(String source)
从给定字符串的开始解析文本以生成日期。
//获取当前时间
Date d=new Date();
System.out.println(d);
//按格式转化成日期
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
String str = sdf.format(d);
System.out.println(str);
//把给定的字符串解析生成日期
String str2="1999-10-10 10:10:10 星期三";
Date d2 = sdf.parse(str2);
System.out.println(d2);
例题:1、输入两个日期,请问相差多少天?
public class p1 {
public static void main(String[] args) throws ParseException {
// 1、输入两个日期,请问相差多少天?
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = df.parse("2020-2-01");
Date date2 = df.parse("2020-3-01");
long days = Math.abs(date1.getTime() - date2.getTime()) / 1000 / 3600 / 24;
System.out.println(days);
System.out.println(date1.getTime());
}
}
二、LocalDate
1.作用
存储年月日
2.方法
- | static LocalDate | now( ) 从默认时区的系统时钟获取当前日期。
- | static LocalDate | of (int year , int month , int dayOfMonth)从一年,一个月和一天获得一个LocalDate的实例。
// 创建一个对象,保存当前日期
LocalDate d1=LocalDate.now();
System.out.println(d1);
// 创建一个对象,保存指定日期
LocalDate d2=LocalDate.of(2020,10,11);
System.out.println(d2);
// 设置的方法
LocalDate d11=d1.withYear(2024);
System.out.println(d11);
// 获取的方法
System.out.println(d1.getYear());
System.out.println(d1.getMonth());
System.out.println(d1.getDayOfMonth());
System.out.println(d1.getDayOfWeek());
System.out.println(d1.getDayOfYear());//一年中的第几天
三、LocalTime
1.作用:
存储时分秒
2.方法:
- | static LocalTime |now( ) 从默认时区的系统时钟获取当前时间。
- | static LocalTime | of(int hour, int minture) 从一小时分钟获取一个LocalTime的实例。
// 创建一个对象,保存当前的时分秒
LocalTime t1=LocalTime.now();
System.out.println(t1);
// 创建一个对象,保存指定的时分秒
LocalTime t2=LocalTime.of(10,11,12);
System.out.println(t2);
// 获取
int hour = t1.getHour();
int minute = t1.getMinute();
int second = t1.getSecond();
System.out.println(hour);
System.out.println(minute);
System.out.println(second);
// 设置
LocalTime t3 = t1.withHour(14);
System.out.println(t3);
System.out.println(t1);
四、LocalDateTime
1.作用:
存储年月日时分秒
2.方法
- |
static LocalDateTime
|now()
从默认时区的系统时钟获取当前的日期时间。- |
static LocalDateTime
|of(int year, int month, int dayOfMonth, int hour, int minute, int second)
从年,月,日,小时,分钟和秒获得LocalDateTime
的实例,将纳秒设置为零。
// 创建一个对象,保存当前日期和时间
LocalDateTime dt1=LocalDateTime.now();
// 创建一个对象,保存指定的日期和时间
LocalDateTime dt2=LocalDateTime.of(2020,2,20,2,2,2);
System.out.println(dt1);
System.out.println(dt2);
// 获取
System.out.println(dt1.getYear());
System.out.println(dt1.getMonth());
System.out.println(dt1.getDayOfMonth());
System.out.println(dt1.getHour());
System.out.println(dt1.getMinute());
System.out.println(dt1.getSecond());
// 设置
LocalDateTime localDateTime = dt1.withMonth(12);
System.out.println(localDateTime);