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

Java 将日历日期转换为字符串?,java,date,calendar,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();

我试图让程序调用当前日期,在其中添加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);
问题是

如果您想格式化您的日期,我建议您查看而不是使用toString。您可以执行以下操作:

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

如果您想格式化您的日期,我建议您查看而不是使用toString。您可以执行以下操作:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
dueDateStr = dateFormat.format(dueDate); // renders as 11/29/2009
你几乎做到了:

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

你几乎做到了:

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


您可能想考虑使用Apache CAMONS,而不是SimeDead格式,因为SimuleDATA格式不是线程安全的。

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

<>这是特别正确的,如果您想使用日期格式化程序的静态实例,这是一个常见的诱惑。

您可能想考虑使用从Apache CAMONS,而不是SimuleDead格式,因为SimuleDead格式不是线程安全的。
FastDateFormat dateFormat = FastDateFormat.getInstance("MM/dd/yyyy");
dueDateStr = dateFormat.format(dueDate);

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

您可以使用我的一个类轻松地做到这一点:


使用我的一个类,您可以轻松完成:


有什么问题吗?toString的用法看起来有点奇怪。有什么问题吗?toString的用法看起来有点奇怪。