我的Joda Time在我的代码中将数字从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?
答案 0 :(得分:3)
“DD”是年的日子,而不是月的日子,即“dd”。 Your format string is incorrect
在不相关的说明中,很难将输出与代码相关联。一般来说,最好将噪声保持在最小值,并使其显式哪个输出行来自哪个代码,如标题。