使用此示例代码我的时间/日期会发生什么?
package date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class DateFormatTest
{
public static void main(String args[]) throws ParseException
{
final String pattern = "dd/MM/YYYY HH:mm";
final Locale locale = Locale.FRENCH;
final SimpleDateFormat formatter = new SimpleDateFormat(pattern, locale);
Date d = new Date();
System.out.println("Today: " + d);
String parsedDate = formatter.format(d);
System.out.println("Today as string:" + parsedDate);
Date d2 = formatter.parse(parsedDate);
System.out.println("Today parsed back:" + d2);
}
}
输出:
Today: Fri Jun 28 16:28:04 CEST 2013
Today as string:28/06/2013 16:28
Today parsed back:Mon Dec 31 16:28:00 CET 2012 >>> ????
答案 0 :(得分:10)
pattern = "dd/MM/YYYY HH:mm";
应该是
pattern = "dd/MM/yyyy HH:mm";
请参阅JavaDoc。
但请注意,您发布的此代码甚至不能在我的Eclipse上运行:
java.lang.IllegalArgumentException: Illegal pattern character 'Y'
击> <击> 撞击>
啊,Y
is added in Java 7。但它是weekyear。
答案 1 :(得分:1)
很少解释,但只是猜测,如果我错了,请纠正我。
正如explanation of week year我想解析2013年的一周(由于错误的模式2013 - &gt; YYYY)以某种方式将整个日期设置为2013年的第一周,即周一31 / 12/2012