我有这种转换日期的方法
我希望将日期作为 10月30日返回,但为什么会返回 1月10日
这是我的程序
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) throws ParseException {
String today = convertdate("10/30/2015");
System.out.println("Today : " + today);
}
public static String convertdate(String recivieddate) throws ParseException {
SimpleDateFormat in = new SimpleDateFormat("dd/mm/yyyy");
Date date = in.parse(recivieddate);
SimpleDateFormat out = new SimpleDateFormat("MMM-dd");
String newdate = out.format(date);
return newdate;
}
}
您能否告诉我如何解决此问题?
答案 0 :(得分:6)
你混淆了模式。您在几天之前使用了几个月, mm 是分钟,而不是月份, MM
=> SimpleDateFormat in = new SimpleDateFormat(" MM / dd / yyyy");
public class Test {
public static void main(String[] args) throws ParseException {
String today = convertdate("10/30/2015");
System.out.println("Today : " + today);
}
public static String convertdate(String recivieddate) throws ParseException {
SimpleDateFormat in = new SimpleDateFormat("MM/dd/yyyy");
Date date = in.parse(recivieddate);
SimpleDateFormat out = new SimpleDateFormat("MMM-dd");
String newdate = out.format(date);
return newdate;
}
}
答案 1 :(得分:3)
您的in
格式错误。它不应该是"dd/mm/yyyy"
,而是"MM/dd/yyyy"
:
SimpleDateFormat in = new SimpleDateFormat("MM/dd/yyyy");