我正在尝试格式化格式的日期" yyyy-MM-dd" to" dd MM,yyyy"但是对于某些日期,我得到了不正确的一年。
这是我的代码:
DateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
DateFormat targetFormat = new SimpleDateFormat("dd MMMM, yyyy");
Date date = originalFormat.parse(dob);
dob = targetFormat.format(date);
输入法:27-05-1999
产出:0032年10月19日
如您所见,输入日期与输出日期不同。我无法理解如何做到这一点。
答案 0 :(得分:1)
你的模式错了。您输入27-05-1999
,因此正确的日期格式为dd-MM-yyyy
:
String dob = "27-05-1999";
DateFormat originalFormat = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH);
DateFormat targetFormat = new SimpleDateFormat("dd MMMM, yyyy");
Date date = originalFormat.parse(dob);
dob = targetFormat.format(date);
System.out.println(dob);
答案 1 :(得分:0)
您的输入是:27-05-1999,您的dateFormat是:yyyy-MM-dd。您实际上使用了错误的日期格式。
此代码可以正常使用。
String dob = "27-05-1999";
DateFormat sourceFormat = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault());
DateFormat destFormat = new SimpleDateFormat("dd MMMM, yyyy", Locale.getDefault());
Date date = sourceFormat.parse(dob);
dob = destFormat.format(date);
System.out.println(dob); // output : 27 May, 1999
答案 2 :(得分:0)
DateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
DateFormat targetFormat = new SimpleDateFormat("dd MM, yyyy");
Date date = originalFormat.parse("1999-05-27");
String dob = targetFormat.format(date);
System.out.println(dob);
查看输入格式错误的输入格式。
如果您希望保持相同的输入格式,请使用以下代码
DateFormat originalFormat = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH);
DateFormat targetFormat = new SimpleDateFormat("dd MM, yyyy");
Date date = originalFormat.parse("27-05-1999");
String dob = targetFormat.format(date);
System.out.println(dob);
两种情况下的输出
27 05,1999
答案 3 :(得分:0)
以下代码应该可以让您了解这里的问题,
问题在于此处的表达式,
//String dob = "1999-05-27";
//DateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
String dob = "27-05-1999";
DateFormat originalFormat = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH);
DateFormat targetFormat = new SimpleDateFormat("dd MMMM, yyyy");
Date date = originalFormat.parse(dob);
dob = targetFormat.format(date);
System.out.println(dob);
您还可以查看有关java文档的详细表达式信息,以下网址应该可以帮助您:
http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html