package demo.api;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
class DateTest {
public static void main(String[] args) throws ParseException {
dateDemo();
}
private static void stringForwardDate() throws ParseException {
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd : HH:mm:ss");
String birthday = "2000-12-26 : 11:29:08";
Date date = sdf2.parse(birthday);
System.out.println("指定格式的当前时间:" + sdf2.format(date));
}
private static void dateDemo() {
Date date = new Date();
Date date2 = new Date(966666666666l);
System.out.println("当前时间:" + date + "\n1970后来时间:" + date2);
System.out.println("日期对象转毫秒:" + date2.getTime());
System.out.println("date2是否在date日期之后:" + date.after(date2));
System.out.println("date2是否在date日期之前:" + date.before(date2));
System.out.println("比较两个日期是否相等:" + date.equals(date2));
System.out.println("比较日期顺序:" + date.compareTo(date2));
}
private static void formatDemo() throws ParseException {
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateInstance();
System.out.println("日期\n默认格式:" + dateFormat.format(date));
dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
System.out.println("指定格式:" + dateFormat.format(date));
;
dateFormat = DateFormat.getDateInstance(DateFormat.FULL);
System.out.println("指定格式2:" + dateFormat.format(date));
dateFormat = DateFormat.getDateInstance(DateFormat.DATE_FIELD);
System.out.println("指定格式3:" + dateFormat.format(date));
dateFormat = DateFormat.getDateTimeInstance();
System.out.println("\n日期时间\n默认格式:" + dateFormat.format(date));
dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
System.out.println("默认格式2:" + dateFormat.format(date));
SimpleDateFormat sdf = new SimpleDateFormat();
System.out.println("\n默认格式的当前时间:" + sdf.format(date));
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println("指定格式的当前时间:" + sdf2.format(date));
String birthday = "2000年12月26日 11:29:08";
date = sdf2.parse(birthday);
System.out.println("字符转换成对应的日期:" + date);
}
private static void calendarDemo() {
Calendar cal = Calendar.getInstance();
System.out.println("年" + cal.get(Calendar.YEAR));
System.out.println("月" + (cal.get(Calendar.MONTH) + 1));
System.out.println("日" + cal.get(Calendar.DATE));
System.out.println("周" + (cal.get(Calendar.DAY_OF_WEEK) - 1));
System.out.println("时" + cal.get(Calendar.HOUR_OF_DAY));
System.out.println("分" + cal.get((Calendar.MINUTE)));
System.out.println("秒" + cal.get(Calendar.SECOND));
cal.set(2008, 7, 8);
System.out.println("工程开始时间:" + cal.getTime());
cal.add(Calendar.DATE, 100);
System.out.println("工程结束时间:" + cal.getTime());
}
private static void datePractice() {
String str_data1 = "2012-3-17";
String str_data2 = "2012-4-6";
System.out.println(getDataSubtract(str_data1, str_data2));
}
private static int getDataSubtract(String str_data1, String str_data2) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date data1 = null;
Date data2 = null;
try {
data1 = sdf.parse(str_data1);
data2 = sdf.parse(str_data2);
} catch (ParseException e) {
e.printStackTrace();
}
Date date = new Date(Math.abs(data1.getTime() - data2.getTime()));
return (int) (date.getTime() / 1000 / 60 / 60 / 24);
}
}