我可以用什么来代替它,new Date(2009, 12, 9)
?
感谢您的帮助。
注意:此答案写于2009年。此后,java.time
已成为Java中首选的日期/时间API。
理想情况下,改用Joda Time。它是内置API的无限优越的API。然后,您需要根据自己的确切要求在LocalDateTime
和LocalDateTime
之间进行选择(这是一个复杂的区域-我不会尝试用一两句话来进行总结,但是DateTime
做得很好)。
如果绝对必要,请使用DateTime
并在需要时将其转换为docs。
Date
注意,我没有在12月放12,因为它实际上是11(一月是0)。
然后,您可以使用:]轻松添加或删除秒,分钟,小时,天,月或年。
Calendar !最后,如果要日期:
Calendar cal = Calendar.getInstance();
cal.set(2009, Calendar.DECEMBER, 12);
[如果您查看cal.add(Calendar.HOUR, 2);
cal.add(Calendar.MONTH, -5);
,它将指示您使用cal.getTime();
。
您也可以使用Calendar
对象:
Tim,在您的评论中,您提到您是在GXT上下文中执行此操作的-即在GWT客户端代码中。 GWT不支持GregorianCalendar,因此您很可能无法通过GWTCompiler放置JodaTime(您可能可以,但您确实要这样做)。
不幸的是,Java中的日期支持是完全糟糕的。正式地,您可能必须使用Calendar来执行此操作,但是我认为这不是必需的。就像其他人提到的那样,Joda时间要好很多,但仍不如Ruby on Rails中的日期容易使用。