java - 如何在 Java 中重新格式化字符串日期

标签 java

我不久前在 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/

相关文章:

java - 在 java11 上播种后,SHA1PRNG SecureRandom 行为有所不同

java - 使用 Jackson 反序列化为字符串或对象

java - 适配器不会更新

java - Android:ListView文本颜色不可见,我不希望它不可见

java - 如何获取 View 的宽度和高度

java - 如果断言失败,使 java 程序退出

Java Socket编程客户端服务器通信问题

java - Selenium - 将文本发送到格式化输入

java - 如何从另一个 xml 文件访问我的 ID?

java - 为什么Java 6重写SortedMap中的keySet()、entrySet()和values()接口(interface)