2013-06-21 2 views
0

Мое время в Джоде меняет число от 9 до 1 в моем коде.Изменение случайного числа с использованием времени в Джоде

Код:

String name = getFileName(); 
BufferedReader reader = new BufferedReader(new FileReader(name)); 

DateTime firstDate = new DateTime(); 
DateTimeFormatter dtf = DateTimeFormat.forPattern("YYYYMMDD"); 
String date = dtf.print(firstDate); 
System.out.println(date); 

String fake; 
while ((fake = reader.readLine()) != null) { 
    String [] holder = fake.split(" "); 

    firstDate = dtf.parseDateTime(holder[2]); 
    System.out.println(holder[2]); 
    System.out.println(firstDate); 
    String useFirstDate = dtf.print(firstDate); 
    System.out.println(useFirstDate); 
    System.out.println("here"); 
    break; 
} 

Выход:

Please input File Name 
futuresmin 
201306172 //System.out.println(date); 
19870901 //System.out.println(holder[2]); 
1987-01-01T00:00:00.000-05:00 //System.out.println(firstDate); 
19870101 //System.out.println(useFirstDate); 
here //System.out.println("here"); 

Я не знаю, если это общая проблема, или, если это только у меня, но я ничего не в Интернете по поводу найдено Эта проблема. Почему Joda Time изменится с 19870901 по 19870101?

ответ

3

"DD" - день год, а не день месяц, что является "dd". Your format string is incorrect.

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

+0

И ссылка на API для полноты (и потому, что я горжусь, что у меня было это в моих закладках, прежде чем встретить этот вопрос): [DateTimeFormat] (http://joda-time.sourceforge.net/apidocs/org /joda/time/format/DateTimeFormat.html) – John