我试图让程序调用当前日期,添加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);
答案 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");