将日期从YYYY-MM-DD转换为YYYY-MM-DDTHH:mm:ssZ

时间:2017-03-24 09:05:58

标签: java

我想将以下模式转换为yyyy-mm-ddThh:mm:ssz

         2017-feb-02
         2017-05-02
         2017-01-01 03:00:00
         2017-01-01 00:00:00.0

我已经通过Java的SimpleDateFormat类。但是我没有能力实现它。

2 个答案:

答案 0 :(得分:1)

您要转换的模式应该是:yyyy-MM-dd'T'HH:mm:ssz。查看更多here。 你可以用SimpleDateFormat来做,一个小例子:

    String date = "2017-05-02";
    String oldFormat = "yyyy-MM-dd";
    String newFormat = "yyyy-MM-dd'T'HH:mm:ssz";
    SimpleDateFormat sdf = new SimpleDateFormat(oldFormat);
    try {
        Date newDate = sdf.parse(date);
        sdf.applyPattern(newFormat);
        System.out.println(sdf.format(newDate));
    } catch (ParseException e) {
        e.printStackTrace();
    }

答案 1 :(得分:0)

我会在您的问题的评论部分提到的帮助下解决您的问题:

public static void main(final String[] args) throws Exception {

    String[] formatStrings = { "yyyy-MMM-dd", "yyyy-MM-dd", "yyyy-MMM-dd hh:mm:ss", "yyyy-MMM-dd hh:mm:ss.S" };

    String yourDate = "2017-Mar-02";
    Date date = null;
    for (String formatString : formatStrings) {
        try {
            date = new SimpleDateFormat(formatString, Locale.US).parse(yourDate);
        } catch (ParseException e) {
        }
    }
    DateFormat formatTo = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssz", Locale.US);
    System.out.println(formatTo.format(date));
}