java.util/sql.Date
getTime():获取当前Date对象对应的时间戳
@Test
public void test2(){
/*java.util.Date对象*/
//构造方法一:Date()创建一个对应当前时间的Date对象
Date date1 = new Date();
System.out.println(date1.toString());//Fri Jul 23 16:48:40 GMT+08:00 2021
//getTime():获取当前Date对象对应的时间戳
System.out.println(date1.getTime());//1627030120558
//构造方法二:创建指定毫秒数的Date对象
Date date2 = new Date(1627030120558L);
System.out.println(date2.toString());//Fri Jul 23 16:48:40 GMT+08:00 2021
/*java.sql.Date对象*/
java.sql.Date date3 = new java.sql.Date(1627030245210L);
System.out.println(date3);//2021-07-23
System.out.println(date3.toString());//2021-07-23
//将java.util.Date对象转化为java.sql.Date对象
Date date4 = new Date();
java.sql.Date date5 = new java.sql.Date(date4.getTime());
System.out.println(date5);//2021-07-23
}
将字符串转化为java.sql.Date
//将字符串转化为java.sql.Date
@Test
public void testExer() throws ParseException{
String birth = "2020-06-08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(birth);
// String te = sdf.format(date);
// System.out.println(te);//2020-06-08
java.sql.Date birthday = new java.sql.Date(date.getTime());
System.out.println(birthday);
}
LocalDate/LocalTime/LocalDateTime的使用
@Test
public void test1(){
//now():获取当前日期、时间、日期+时间
LocalDate localDate = LocalDate.now();//获取当前日期
LocalTime localtime = LocalTime.now();//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();//获取当前日期+时间
System.out.println("当前日期:" + localDate + '\n' + "当前时间:" + localtime + '\n' + "当前日期和时间:" + localDateTime);
// 当前日期:2021-07-23
// 当前时间:15:49:24.070
// 当前日期和时间:2021-07-23T15:49:24.070
//of():设置指定的年,月,日,时,分,秒
LocalDateTime localDateTime1 = LocalDateTime.of(2020,5,14,13,45,30);
System.out.println("\n指定的日期:" + localDateTime1);//指定的日期:2020-05-14T13:45:30
//获取单独信息:getxxx()
System.out.println("当前为一个月的第几号:" + localDateTime.getDayOfMonth());//当前为一个月的第几号:23
System.out.println("当前为周几:" + localDateTime.getDayOfWeek());//当前为周几:FRIDAY
System.out.println("当前为今年的第几天:" + localDateTime.getDayOfYear());//当前为今年的第几天:204
//其他类似,不再赘述
//改变信息:with...
LocalDate localDate1 = localDate.withDayOfMonth(19);
//体现了不可变性,原来的localDate不可变,需要有一个LocalDate变量接受它
System.out.println("改变前:" + localDate);//改变前:2021-07-23
System.out.println("改变后:" + localDate1 + "\n");//改变后:2021-07-19
//在现有的基础上+
LocalDateTime localDateTime2 = localDateTime.plusDays(3);
System.out.println("加三天前:" + localDateTime);//加三天前:2021-07-23T15:49:24.070
System.out.println("加三天后:" + localDateTime2);//加三天后:2021-07-26T15:49:24.070
//减操作为minus...,这里不再赘述
/*格式化时间--DateTimeFormatter的使用*/
//方式一:预定义的标准格式。如:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
//略...
//方式二;本地化相关的格式。如:ofLocalizedDateTime()
//FormatStyle.LONG / FormatStytle.MEDIUM / FormatStytle.SHORT:适用于LocalDateTime
DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
String str = formatter2.format(LocalDateTime.now());
System.out.println(str);//2021-7-23 15:49:24
//方式三:自定义格式。如ofPattern("yyyy-MM-dd hh:mm:ss"),括号里面可以自定义
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
String str4 = formatter.format(LocalDateTime.now());
System.out.println(str4);//2021-07-23 03:49:24
}