在java開發中,很多字段是Date類型的,當需要我們給時間一個默認值的時候,該怎么寫呢,怎么寫一個指定的時間呢?一般有兩個方法:
1. new Date(year,month,day); 這種方法是廢棄掉的,不建議使用
2.用 Calendar,如下:
Calendar calendar=Calendar.getInstance();
calendar.set(2015, 10, 12); //年月日 也可以具體到時分秒如calendar.set(2015, 10, 12,11,32,52);
Date date=calendar.getTime();//date就是你需要的時間
通過java.util.Calendar類的靜態方法getInstance()獲得一個日歷類實例,然后調用此實例的set(int year, int month, int date)
設置日歷字段 YEAR、MONTH 和 DAY_OF_MONTH 的值,然后調用實例的getTime()方法可以獲得指定日期的Date對象
3.
new一個java.util.SimpleDateFormat類的實例,構造方法可以指定日期格式,例如yyyy-MM-dd,其中yyyy表示四位年份,MM表示兩位月份,dd表示兩位日期。然后通過調用這個SimpleDateFormat實例的parse方法可以解析獲得指定日期的Date對象。
代碼示例:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse("2014-03-02");
————————————————
版權聲明:本文為CSDN博主「打不死的little強」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_32862641/article/details/114083608
在java的程序里比較date類型的方法如下:
1、java.util.Date類實現了Comparable接口,可以直接調用Date的compareTo()方法來比較大小,compareTo()方法的返回值,date1小於date2返回-1,date1大於date2返回1,相等返回0如下。
String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date1 = format.parse(beginTime);
Date date2 = format.parse(endTime);
int compareTo = date1.compareTo(date2);
System.out.println(compareTo);
} catch (ParseException e) {
e.printStackTrace();
}
2、通過Date自帶的before()或者after()方法比較,如下。
String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date1 = format.parse(beginTime);
Date date2 = format.parse(endTime);
boolean before = date1.before(date2);
System.out.println(before);
} catch (ParseException e) {
e.printStackTrace();
}
3、通過調用Date的getTime()方法獲取到毫秒數來進行比較,如下。
String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date1 = format.parse(beginTime);
Date date2 = format.parse(endTime);
long beginMillisecond = date1.getTime();
long endMillisecond = date2.getTime();
System.out.println(beginMillisecond > endMillisecond);
} catch (ParseException e) {
e.printStackTrace();
}