[英]Should we use the Date Object in java?
我们应该在java中使用de java.util.Date对象吗? 它有很多Deprecated方法,有点麻烦,必须使用复杂的方法来做一些应该这么简单的事情。
我正在使用一些愚蠢的东西模仿getDate(),如:
public static int toDayMonth (Date dt)
{
DateFormat df = new SimpleDateFormat("dd");
String day = df.format(dt);
return Integer.parseInt(day);
}
它必须是更好的方式......
可能是一个偏好的问题,但我使用Joda时间 。
从Joda Time查看DateTime
API, DateTime#dayOfMonth
可能正是您所寻找的。
DateTime dt = new DateTime();
// no args in constructor returns current date and time
DateTime.Property day = dt.dayOfMonth();
System.out.println(day.get()); // prints '27'
Java Date类因混淆和笨拙而臭名昭着。 我建议看一下流行的“Joda Time”图书馆:
不,你不应该再使用java.util.Date了。
GregorianCalendar是您可以使用的替代方案:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.MONTH, Calendar.JUNE);
cal.set(Calendar.DAY_OF_MONTH, 27);
cal.set(Calendar.YEAR, 2010);
每种方法的javadoc都说明了它被替换的内容。 要模拟getDate()
,请使用:
Calendar.get(Calendar.DAY_OF_MONTH)
编辑 :完整示例:
public static int toDayMonth (Date dt) {
Calendar c = new GregorianCalendar();
c.setTime(dt);
return c.get(Calendar.DAY_OF_MONTH);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.