⭐ 更多干货请点击此处
需要引入java.util.Date
Date d1 = new Date(); //获取当前系统时间
System.out.println("当前日期="+d1); //默认输出格式是国外方式,需要格式转换
输出
Date d2 = new Date(9234567);
System.out.println("当前日期"+d2);
输出
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");
String format = sdf.format(d1); //format:将日期转换成指定格式的字符串
System.out.println("当前日期="+d1);
输出
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");
String s = "1996年01月01日 10:20:30 星期一";
Date parse = sdf.parse(s); //使用的sdf格式需要和给的String格式应用,否则抛出转换异常
System.out.println("parse="+parse); //默认国外形式
System.out.println("parse="+sdf.format(parse)); //转成自定义
输出
public abstract class Calendar extends Object implements Serializable,Cloneable,Comparable
需要引入java.util.Calendar
Calendar c = Calendar.getInstance();
System.out.println("c="+c);
输出
System.out.println("年:"+c.get(Calendar.YEAR));
System.out.println("月:"+c.get(Calendar.MONTH)+1);//从0开始,所以加一
System.out.println("日:"+c.get(Calendar.DAY_OF_MONTH));
System.out.println("小时:"+c.get(Calendar.HOUR));//若要用24小时法,改为 HOUR_OF_DAY
System.out.println("分钟:"+c.get(Calendar.MINUTE));
System.out.println("秒:"+c.get(Calendar.SECOND));
//没专门的格式化方法,需要自己组合
输出
前两代日期类的不足:
JDK 1.0中包含了一个java.util.Date类,但是它的大多数方法已经在JDK 1.1引Calendar类之后被弃用了。而Calendar也存在问题:
第三代日期类常见方法:JDK8加入
LocalDateTime ldt = LoaclDateTime.now(); //LoaclDate.now();//LoaclTime.now();
System.out.println(ldt);
输出
LocalDateTime ldt = LoaclDateTime.now(); //LoaclDate.now();//LoaclTime.now();
System.out.println("年=" + ldt.getYear());
System.out.println("月=" + ldt.getMonth());
System.out.println("月=" + ldt.getMonthValue());
System.out.println("日=" + ldt.getDayOfMonth());
System.out.println("时=" + ldt.getHour());
System.out.println("分=" + ldt.getMinute());
System.out.println("秒=" + ldt.getSecond());
输出
LocalDate ld = LocalDate.now(); //可以获取年月日
LocalTime lt = LocalTime.now(); //可以获取时分秒
类似SimpleDateFormat
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(格式);String str = dtf.format(日期对象);
LocalDateTime ldt = LoaclDateTime.now();DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH小时mm分钟ss秒");String format = dateTimeFormatter.format(ldf);System.out.println("格式化的日期=" + format);
输出
类似Date
提供了一系列和Date类转换的方式
Instant–>Date:
Date date = Date.from(instant);
Date–>Instant
Instant instant = date.toInstant();
Instant now = Instant.now();
System.out.println(now);
输出
Date date = Date.from(now);
Instant instant = date.toInstant();