Java 常用API 03 Date、DateFormat、Calendar

1 Date

1)概述

Date表示特定的瞬间,精确到毫秒。

Date date = new Date();
System.out.println(date); // Thu Jul 12 09:33:07 CST 2018
System.out.println(date.getTime()); // 1531359187510(日期对象转换成对应的时间毫秒值)

2 DateFormat

DateFormat类,可以将一个Date对象转换成一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。

指定格式:

  • 年 y
  • 月 M
  • 日 d
  • 时 H
  • 分 m
  • 秒 s
  • 常用格式:yyyy-MM-dd HH:mm:ss
// 将Date转换成String
DateFormat df=new SimpleDateFormat("yyyy-MM-dd"); // 对日期进行格式化
Date date = new Date();
String str_time=df.format(date);
System.out.println(str_time); // 2018-07-12

// 将String转换成Date
String str = "2018年7月12日";
DateFormat df1 = new SimpleDateFormat("yyyy年MM月dd日");
Date date1=null;
try {
    date1 = df1.parse(str);
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
System.out.println(date1); // Thu Jul 12 00:00:00 CST 2018

3 Calendar

日历类,该类将所有可能用到的时间信息封装为静态成员变量,方便获取。

Calendar为抽象类,在创建对象时并不是直接创建,而是通过静态方法创建。

// 创建对象
Calendar c1=Calendar.getInstance();

int year=c1.get(Calendar.YEAR);
int month=c1.get(Calendar.MONTH);
int date=c1.get(Calendar.DATE);
int hour=c1.get(Calendar.HOUR);
int min=c1.get(Calendar.MINUTE);
int sec=c1.get(Calendar.SECOND);

// 结果:201861210:16:12 
System.out.println(year+"年"+month+"月"+date+"日"+" "+hour+":"+min+":"+sec+" "); 

// 修改当前时间为3天前
c1.add(Calendar.DATE, 3);
// 修改当前时间为5小时后
c1.add(Calendar.HOUR, 5);
// 结果:Sun Jul 15 15:16:12 CST 2018
System.out.println(c1.getTime());

// 设置时间为2020-6-6
c1.set(Calendar.YEAR, 2020);
c1.set(Calendar.MONTH, 5); // 0代表一月
c1.set(Calendar.DATE, 6);
//c1.set(2020, 5, 6); // 另一种方法
// getTime()返回的是Date对象
System.out.println(c1.getTime()); // Sat Jun 06 15:16:12 CST 2020

猜你喜欢

转载自blog.csdn.net/lihaogn/article/details/81011408