2013-06-21 74 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"); 

我不知道这是否是一个常见的问题,或者如果它只是我,但我还没有发现有关在互联网上的任何东西这个问题。为什么乔达时间将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