G
Guest
я не понимаю, каким образом можно поставить дату в Григорианский календарь. Вот смотрите:
на вход подается строка в виде: 6.04.2008. токенайзер ее разбивает на кусочки, в моем случае на 6, 4, 2008.
день ставится, месяц остается текущий (т.е. май), это во-первых.
дальше у меня String str - строка просто для того, чтобы убедиться, что getTime вернул дату. дальше из ф-ии возвращаю calendar.getTime(). Упс, возвращает null, это во-вторых. ПОЧЕМУ???? Ведь я убедилась строкой выше, что str заполняется датой.
причем закомментированные варианты приводят к тому же результату
Код:
private Date fromStringToDate(String strDate)
{
StringTokenizer tokenizer = new StringTokenizer(strDate, ".");
GregorianCalendar calendar = new GregorianCalendar(1918, Calendar.JANUARY, 1);
String str1 = tokenizer.nextToken();
String str2 = tokenizer.nextToken();
String str3 = tokenizer.nextToken();
// calendar.setTime(new Date(Integer.parseInt(str3), Integer.parseInt(str2), Integer.parseInt(str1)));
// calendar.set(Integer.parseInt(str3), Integer.parseInt(str2), Integer.parseInt(str1));
calendar.set(GregorianCalendar.DAY_OF_MONTH, Integer.parseInt(str1));
calendar.set(GregorianCalendar.MONTH, Integer.parseInt(str2));
calendar.set(GregorianCalendar.YEAR, Integer.parseInt(str3));
String str = calendar.getTime().toString();
return calendar.getTime();
}
на вход подается строка в виде: 6.04.2008. токенайзер ее разбивает на кусочки, в моем случае на 6, 4, 2008.
день ставится, месяц остается текущий (т.е. май), это во-первых.
дальше у меня String str - строка просто для того, чтобы убедиться, что getTime вернул дату. дальше из ф-ии возвращаю calendar.getTime(). Упс, возвращает null, это во-вторых. ПОЧЕМУ???? Ведь я убедилась строкой выше, что str заполняется датой.
причем закомментированные варианты приводят к тому же результату