一、Date类:
package 常用的时间类;
import java.util.Date;
public class DateTest {
//类Date表示特定的瞬间,精确到毫秒
/*
* Date类常用的方法:
* 构造方法:
* public Date():返回当前时间
* public Date(long date):返回指定毫秒值的日期对象
* 普通方法:
* public long getTime():获取当前时间对象的毫秒值
* public void setTime(long time):设置时间毫秒值
*
*/
public static void main(String[] args){
//获取当前时间
Date date = new Date();
System.out.println(date);
//获取当前时间的毫秒值
long time = date.getTime();
System.out.println(time);
//设置date的毫秒值为0
date.setTime(0);
System.out.println(date);
}
}
运行结果:
二、DateFormat类
DateFormat是用于日期格式化的类,将一个Date对象转换为指定格式的字符串,也可以将一个符合指定格式的字符串转换为Date对象。需要说明的是DateFormat是一个抽象类,我们需要使用的是他的子类:SimpleDateFormat,其允许用户选择任何自定义的时间类型格式。
package 常用的时间类;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest {
public static void main(String[] args) throws ParseException {
//创建当前日期对象
Date date = new Date();
//创建日期格式化SimpleDateFormat对象
//使用默认的时间格式
SimpleDateFormat sdf = new SimpleDateFormat();
//使用自定义的时间格式
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//调用format方法将日期转换为字符串
String sd1 = sdf1.format(date);
String sd2 = sdf2.format(date);
System.out.println(sd1); //2018-07-06 22:57:19
System.out.println(sd2); //2018年07月06日 22:57:19
//求给定字符串的日期的毫秒值
String birth = "1995-01-06";
//创建日期格式化对象
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = sdf3.parse(birth);
//调用Date类的getTime()方法获取指定时间的毫秒值
System.out.println(d1.getTime()); //789321600000
}
}
三、Calendar类
package 常用的时间类;
import java.util.Calendar;
public class CalendarTest {
public static void main(String[] args) {
/*
* Calendar:日历类,也表示一个瞬间
* public static Calendar getInstance(); //获取日期对象
* Calendar rightNow = Calendar.getInstance(); //返回当前时间
* public int get(int field); //获取时间段的值
* public void add(int field, int amount); //指定字段增加值
* public final void set(int year, int month, int date); //设置年月日值
* public final Date getTime(); //获取该日历对象转成日期对象
*
*/
//获取日期对象
Calendar rightNow = Calendar.getInstance();
System.out.println(rightNow);
//获取指定时间字段值
System.out.println(rightNow.get(Calendar.YEAR));
System.out.println(rightNow.get(Calendar.MONTH));
System.out.println(rightNow.get(Calendar.DATE));
System.out.println(rightNow.get(Calendar.DAY_OF_MONTH));
//Calendar对象获取毫秒值
long time = rightNow.getTime().getTime();
long timeInMillis = rightNow.getTimeInMillis();
System.out.println(time);
System.out.println(timeInMillis);
}
}