用Java创建日期

时间:2012-03-17 03:30:16

标签: java date

我想知道在Java中创建Dates的正确方法是什么?它似乎是最简单的方式

new Date(year, month, day, hours, mins) 

折旧。那么我应该如何创建日期。我理解推荐的方法是使用很长但最简单的方法来获得人类可读日期的长值,如“2012-03-21 2:00 PM”(或类似的东西)?

5 个答案:

答案 0 :(得分:4)

从Java 8开始,您可以使用Calendar.Builder类:

Date date = new Calendar.Builder()
    .setDate(2012, 2, 21)
    .setTimeOfDay(14, 0, 0)
    .build().getTime();

答案 1 :(得分:3)

使用Calendar课程。或Joda Time,我相信其他人会建议。

Calendar c = Calendar.getInstance();
c.set(year, month, day, hours, mins);
long time = c.getTimeInMillis();

答案 2 :(得分:1)

示例:

try { 
   String str_date="2012-03-21 2:00PM";
   DateFormat formatter ; 
   Date date ; 
   formatter = new SimpleDateFormat("yyyy-MMM-dd ha");
   date = (Date)formatter.parse(str_date);  
   Calendar cal=Calendar.getInstance();
   cal.setTime(date);
   System.out.println("Date to long " + cal.getTimeInMillis());
} catch (ParseException e)  {
  System.out.println("Exception :"+e);  
}  

答案 3 :(得分:0)

你应该构建一个合适的Calendar - 你可以在很多情况下单独使用它 - 如果你真的需要一个getDate()对象,只需在它上面调用Date

答案 4 :(得分:0)

您可以使用GregorianCalendar作为日期