常用类 4 Date类和DateFormat类 我们把1970年1月1日00:00:00 定为基准时间
Date类 大部分方法已过时,不常用
package oop2.date; /*
Date中的三个类
sql包下的类
Date: 只含有年月日
Time: 只含有时分秒
Timestamp: 时间戳,既含有年月日,又含有时分秒*/
import java.sql.Date;
public class DateB {
public static void main(String[] args) {
//只含有年月日 ,没有时分秒
java.sql.Date date1 = new java.sql.Date(System.currentTimeMillis());
System.out.println(date1);
String d = "2019-9-10";
Date date = Date.valueOf(d);
System.out.println(date); //字符串类型转化为Date类型
}} DateFormat类 日期格式化的类
package oop2.date; /*
作用:格式化日期类*/
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;
public class DateFormatA {
public static void main(String[] args) throws ParseException {
Date date = new Date();
System.out.println(date);
//时间格式化
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); // 也可以: yyyy年MM月dd日 hh:mm:ss
// DateFormat dateFormat2 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
//调用格式方法
String format = dateFormat.format(date);
// String format2 = dateFormat2.format(date);
System.out.println(format);
// System.out.println(format2);
System.out.println("=================== [B] String类型转为Date类型 ====================================");
String str = "2020-09-09 09:09:09";
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //转的格式和string的格式要一致
Date parse = dateFormat1.parse(str);
System.out.println(parse);
}} 常用类 5 Calendar类(日历类) 在1.7 1.8还能用,到高版本也已经过时了。
package oop2.date;
import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar;
public class MyCalendar {
public static void main(String[] args) {
//创建日历类对象
Calendar calendar = new GregorianCalendar();
System.out.println(calendar);
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH));
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR));
//可以对年月日进行修改实现
calendar.set(Calendar.MONTH,6);
System.out.println(calendar.get(Calendar.MONTH));
int max = calendar.getMaximum(Calendar.DATE); //获得本月中一共有多少天
System.out.println(max);
/*
Calendar和Date 类可以相互转换
*/
//把日期类对象转成日历类对象
Date date = new Date();
Calendar calendar1 = new GregorianCalendar();
calendar1.setTime(date);
//把日历类对象转化为日期类
Date time = calendar1.getTime();
}} 常用类 6 JDK8的新日期类 引入了 java.time 包 。少用的。常用的还是Date和DateFormat类
package oop2.date;
import java.time.Instant; import java.time.LocalDate; import java.time.format.DateTimeFormatter;
/**
public class MyTimeA {
public static void main(String[] args) {
//Instant
Instant now = Instant.now();
System.out.println(now);
System.out.println(now.MAX);
System.out.println(now.MIN);
System.out.println(now.EPOCH);
//LocalDate 这个只含有年月日
LocalDate localDate = LocalDate.now();
System.out.println(localDate);
//DateTimeFormatter
DateTimeFormatter dft = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
String format = localDate.format(dft);
System.out.println(format);
// String 类型转LocalDate
LocalDate.parse("2029年09月10日",dft);
}}