java - 将日期字符串转换为不同的格式

标签 java date android-date

我有一个包含 YYYY-MM-DD 格式的日期的字符串。

您建议我如何以最佳方式将其转换为 DD-MM-YYYY 格式?

这就是我天真地做的方式:

import java.util.*;
public class test {
    public static void main(String[] args) {
         String date = (String) args[0]; 
         System.out.println(date); //outputs: YYYY-MM-DD
         System.out.println(doConvert(date)); //outputs: DD-MM-YYYY
    }

    public static String doConvert(String d) {
         String dateRev = "";
         String[] dateArr = d.split("-");
         for(int i=dateArr.length-1 ; i>=0  ; i--) {
             if(i!=dateArr.length-1)
                dateRev += "-";
             dateRev += dateArr[i];
         }
    return dateRev;
    }
}

但是还有其他更优雅、更有效的方法吗? IE。使用一些内置功能?我在快速搜索 API 时找不到一个。

这里有人知道另一种方法吗?

最佳答案

使用java.util.DateFormat:

DateFormat fromFormat = new SimpleDateFormat("yyyy-MM-dd");
fromFormat.setLenient(false);
DateFormat toFormat = new SimpleDateFormat("dd-MM-yyyy");
toFormat.setLenient(false);
String dateStr = "2011-07-09";
Date date = fromFormat.parse(dateStr);
System.out.println(toFormat.format(date));

关于java - 将日期字符串转换为不同的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637469/

相关文章:

java - 为什么 Hibernate Open Session in View 被认为是不好的做法?

java - 如何跳过 block 中的任何错误并继续下一个 block 项目?

Java 并发可见性

java - 如何在 Joda-Time 中总结岁月

Android:月日年的日期格式

java - 如何使用 Java 从解析服务器加载存储为文件的图像并将其显示到 Android-Studio 中的自定义 ListView?

string - 如何在 MongoDB 中将 B.C 之前的日期存储为 ISODate?

android - 将 unix/epoch 时间转换为格式化日期 - 意外日期

java - 处理后获得的日期不正确