将日历日期转换为字符串?

时间:2009-10-31 01:41:42

标签: java date calendar

我试图让程序调用当前日期,添加30天,然后将该日期作为字符串。

        // Set calendar for due date on invoice gui
    Calendar cal = Calendar.getInstance();

    // Add 30 days to the calendar for the due date
    cal.add(Calendar.DATE, 30);
    Date dueDate = cal.getTime();
    dueDatestr = Calendar.toString(dueDate);

4 个答案:

答案 0 :(得分:3)

问题是什么?

如果您想格式化日期,建议您查看java.text.SimpleDateFormat而不是toString()。你可以这样做:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
dueDateStr = dateFormat.format(dueDate); // renders as 11/29/2009

答案 1 :(得分:1)

你几乎拥有它:

Date dueDate = cal.getTime();
String dueDateAsString = dueDate.toString();

String dueDateAsFormattedString = DateFormat.format(dueDate);

答案 2 :(得分:0)

您可能需要考虑使用Apache commons中的FastDateFormat而不是SimpleDateFormat,因为SimpleDateFormat不是线程安全的。

FastDateFormat dateFormat = FastDateFormat.getInstance("MM/dd/yyyy");
dueDateStr = dateFormat.format(dueDate);

如果您想使用日期格式化程序的静态实例,尤其如此,这是一种常见的诱惑。

答案 3 :(得分:0)

你可以轻松地使用我的一类: https://github.com/knyttl/Maite/wiki/Maite-Date-and-Time

new Time()
    .plus(1, Time.DAY)
    .format("yyyy-MM-dd");