我的代码中的方法始终返回当前日期
的问题是什么我只想更改日期格式
我错过了什么吗?
...
String mydate;
mydate=ConvertToDate("2013/09/25");
private String ConvertToDate(String dateString){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date convertedDate = new Date();
try {
convertedDate = dateFormat.parse(dateString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String newdate;
newdate = dateFormat.format(convertedDate);
return newdate;
}
答案 0 :(得分:2)
抛出parseException的上述代码改为:
private static String ConvertToDate(String dateString){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date convertedDate = new Date();
try {
convertedDate = dateFormat.parse(dateString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String newdate;
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
newdate = dateFormat1.format(convertedDate);
return newdate;
}
答案 1 :(得分:0)
你选择了错误的模式。您的日期是2013/09/25,因此您的模式应为yyyy / MM / dd。
在您的代码中提供异常,在try catch块之前,您使用新的Date()初始化日期。所以在异常之后你的convertedDate变量显示当前日期。
你必须改变
new SimpleDateFormat("yyyy-MM-dd")
要
new SimpleDateFormat("yyyy/MM/dd")
您的回答是评论。我在这里写给你。
private static String ConvertToDate(String dateString){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy/MM/dd");
Date convertedDate = new Date();
try {
convertedDate = dateFormat.parse(dateString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String newdate;
newdate = dateFormat2.format(convertedDate);
return newdate;
}
}
答案 2 :(得分:0)
// Convert Date formate function
public static String converDateFormate(String dateString) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("YYYY/mm/dd");
Date testDate = null;
testDate = sdf.parse(dateString);
SimpleDateFormat formatter = new SimpleDateFormat("YYYY-mm-dd");
String newFormat = formatter.format(testDate);
System.out.println("" + newFormat);
return newFormat;
}
使用它:
converDateFormate("2013/12/20");
答案 3 :(得分:0)
使用applyPattern
,这就是全部
String OLD_FORMAT = "yyyy/MM/dd";
String NEW_FORMAT = "yyyy-MM-dd";
String oldDateStr = "2013/09/25";
String newDateStr;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(OLD_FORMAT);
Date date = simpleDateFormat.parse(oldDateStr);
simpleDateFormat.applyPattern(NEW_FORMAT);
newDateStr = simpleDateFormat.format(date);
System.out.println(newDateStr);
输出:
2013-09-25