1Date类
无参构造方法和有参构造方法
package cn.edu.sdut.acm;
import javax.xml.crypto.Data;
import java.util.Date;
public class Main{
public static void main(String[] args) {
Date date1 = new Date(); // 当前时间
Date date2 = new Date(System.currentTimeMillis()+6000); // 当前时间+6s
System.out.println(date1);
System.out.println(date2);
}
}
2.Calender类
Calender类是一个抽象类,无法被实例化,需要调用其静态方法getInstance来得到一个Calender对象。
package cn.edu.sdut.acm;
import java.util.*;
public class Main{
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance(); // 获取当前时间的calender对象
int year = calendar.get(Calendar.YEAR); // 获取当前年份
int month = calendar.get(Calendar.MONTH)+1; // 获取当前月份
int date = calendar.get(Calendar.DATE); // 获取当前日
int hour = calendar.get(Calendar.HOUR); // 获取当前时
int minute = calendar.get(Calendar.MINUTE); // 获取当前分
int second = calendar.get(Calendar.SECOND); // 获取当前秒
System.out.println(year+"年"+month+"月"+date+"日"+hour+"时"+minute+"分"+second+"秒");
}
}
注:Calender.MONTH字段,月份的起始值是从0开始的,因此要获取当前月份需要在Calender.MONTH基础上+1
package cn.edu.sdut.acm;
import java.util.*;
public class Main{
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance(); // 获取当前时间的calender对象
calendar.set(2019, 1, 1); // 设置指定日期
calendar.add(Calendar.DATE, 100); // 增加100天
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int date = calendar.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");
}
}
注:Calender有两种解释日历字段的模式:lenient模式(容错模式)和non-lenient模式(非容错模式)。
package cn.edu.sdut.acm;
import java.util.*;
public class Main{
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance(); // 获取当前时间的calender对象
// 默认开启容错模式
calendar.set(Calendar.MONTH, 13);
System.out.println(calendar.getTime());
calendar.setLenient(false); // 开启非容错模式
calendar.set(Calendar.MONTH, 13);
System.out.println(calendar.getTime());
}
}
注:Calender的getTime方法返回一个表示Calender时间值得Date对象。Calender的setTime(Date date)方法,接受一个Date对象,将Date对象表示的时间值给Calender对象,从而实现Calender和Date对象之间的转换。