преобразование календарной даты в строку? - PullRequest
1 голос
/ 31 октября 2009

Я пытаюсь заставить программу вызвать текущую дату, добавить к ней 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 ]

3 голосов
/ 31 октября 2009

А вопрос такой?

Если вы хотите отформатировать дату, я предлагаю вместо toString() посмотреть java.text.SimpleDateFormat Вы можете сделать что-то вроде:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
dueDateStr = dateFormat.format(dueDate); // renders as 11/29/2009
1 голос
/ 31 октября 2009

У вас почти есть это:

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

или

String dueDateAsFormattedString = DateFormat.format(dueDate);
0 голосов
/ 23 февраля 2012

Вы можете сделать это легко с моим классом: https://github.com/knyttl/Maite/wiki/Maite-Date-and-Time

new Time()
    .plus(1, Time.DAY)
    .format("yyyy-MM-dd");
0 голосов
/ 31 октября 2009

Возможно, вы захотите использовать FastDateFormat из общего достояния Apache вместо SimpleDateFormat, поскольку SimpleDateFormat не является поточно-ориентированным.

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

Это особенно верно, если вы хотите использовать статический экземпляр средства форматирования даты, что является распространенным искушением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...