我不久前在 VB 中解决了这个问题,并认为我可以轻松地将其转换为 Java。输入以字符串形式出现,格式如下: “月/日/年” 我想将其更改为以下格式: “月/日/年” 其中仅显示最后两年的数字。我不久前写了这个 VB,它就是这样做的:
Function DateFormat(ByVal myDate As String) As String
Dim reformat As Date
reformat = Date.Parse(myDate, Nothing)
Return Format(reformat, "MM/dd/yy").ToString()
End Function
如何在 Java 中执行完全相同的操作,以便正确地重新格式化日期并以原来的字符串形式返回?我有这样的东西,但它不能正常工作:
public static String DateFormat(String myDate){
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
try{
Date formattedDate = formatter.parse(myDate);
return formattedDate.toString();
}catch(Exception e){
e.printStackTrace();
return null;
}
}
我不知道如何使它成为我需要的格式,因为我找不到任何类似于 VB 的 Format() 函数的东西。提前致谢。
最佳答案
试试这个:
public static String DateFormat(String myDate) throws ParseException {
SimpleDateFormat inFormat = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat outFormat = new SimpleDateFormat("MM/dd/yy");
Date parsedInDate = inFormat.parse(myDate);
return outFormat.format(parsedInDate);
}
首先,我们声明两个日期格式化程序,然后我们从输入字符串创建日期对象,最后我们生成新格式的字符串。
关于java - 如何在 Java 中重新格式化字符串日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24761624/