繁体   English   中英

我们应该在java中使用Date对象吗?

[英]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”图书馆:

http://joda-time.sourceforge.net/

不,你不应该再使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM