Java常用类——时间相关类详解
1. java.util.Date
-
毫秒
-
Date()
-
Date(long date)
-
boolean afer(Date date)
-
boolean before(Date date)
-
boolean equals(Date date)
-
long getTime()
-
String toString()
import java.util.Date;
public class Demo01 {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.toString());
long time = System.currentTimeMillis();
System.out.println(time);
Date date1 = new Date(1600356145216l);
System.out.println(date1);
System.out.println(date1.after(date));
System.out.println(date1.before(date));
System.out.println(date1.equals(new Date(1600356145216l)));
System.out.println(date1.getTime());
}
}
2. DateFormat类 和 SimpleDateFormat类
- DateFormat类是一个抽象类,一般使用其子类SimpleDateFormat类来实现。
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo02 {
public static void main(String[] args) throws ParseException {
// 把时间对象转化为指定格式的字符串
DateFormat df = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
Date date = new Date();
System.out.println(date); //Thu Sep 17 23:37:33 CST 2020
System.out.println(df.format(date)); //2020-09-17-23:37:33
// 把指定格式的字符串转化为时间对象
Date date1 = df.parse("2020-12-12-00:00:00");
System.out.println(date1); //Sat Dec 12 00:00:00 CST 2020
//其他格式
DateFormat df1 = new SimpleDateFormat("W"); //这月的第几周
System.out.println(df1.format(date)); //3
DateFormat df2 = new SimpleDateFormat("D"); //这一年第几天
System.out.println(df2.format(date)); //261
}
}
3. Calendar日历类
-
Calendar类是一个抽象类,GregorianCalendar是Calendar的一个具体子类。
-
一月是0。
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class Demo03 { public static void main(String[] args) { Calendar c1 = new GregorianCalendar(); Calendar c2 = new GregorianCalendar(2020,11, 11, 12, 30, 00); c2.set(Calendar.YEAR, 2022); int year = c2.get(Calendar.YEAR); int month = c2.get(Calendar.MONTH); int day = c2.get(Calendar.DAY_OF_MONTH); System.out.println(year); System.out.println(month); System.out.println(day); c1.add(Calendar.YEAR, -10); System.out.println(c1.get(Calendar.YEAR)); //2010 Date date = c1.getTime(); System.out.println(date); c1.setTime(date); System.out.println(c1); Calendar cc = new GregorianCalendar(); System.out.println(cc); printCalendar(cc); //2020/09/18 00:06:22 星期五 } public static void printCalendar(Calendar c){ Date d = c.getTime(); DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss E"); System.out.println(df.format(d)); } }