如何在java中获取给定的日期字符串格式(模式)?

sat*_*ish 37 java format date

我想获得给定日期字符串的格式.

示例:我有一个字符串,2011-09-27T07:04:21.97-05:00并且此字符串的日期格式为yyyy-MM-dd'T'HH:mm:ss.SSS.

在这里,当我将string(2011-09-27T07:04:21.97-05:00)传递给将返回format(yyyy-MM-dd'T'HH:mm:ss.SSS)的方法时,我想找出这种日期格式,然后我将根据我的要求(like yy-mm--dd or mm/dd/yyyy)格式化我给定的日期字符串.

任何人都可以告诉我如何实现它?

小智 44

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class NewClass {

    private static final String[] formats = { 
                "yyyy-MM-dd'T'HH:mm:ss'Z'",   "yyyy-MM-dd'T'HH:mm:ssZ",
                "yyyy-MM-dd'T'HH:mm:ss",      "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
                "yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd HH:mm:ss", 
                "MM/dd/yyyy HH:mm:ss",        "MM/dd/yyyy'T'HH:mm:ss.SSS'Z'", 
                "MM/dd/yyyy'T'HH:mm:ss.SSSZ", "MM/dd/yyyy'T'HH:mm:ss.SSS", 
                "MM/dd/yyyy'T'HH:mm:ssZ",     "MM/dd/yyyy'T'HH:mm:ss", 
                "yyyy:MM:dd HH:mm:ss",        "yyyyMMdd", };

        /*
         * @param args
         */
    public static void main(String[] args) {
        String yyyyMMdd = "20110917";   
        parse(yyyyMMdd);
    }

    public static void parse(String d) {
        if (d != null) {
            for (String parse : formats) {
                SimpleDateFormat sdf = new SimpleDateFormat(parse);
                try {
                    sdf.parse(d);
                    System.out.println("Printing the value of " + parse);
                } catch (ParseException e) {

                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Pra*_*tik 6

你可以这样做,我不知道好的方式,但试试这个

首先创建SimpleDateFormat对象

SimpleDateFormt sdf = new SimpleDateFormat("yyyy-MM-dd 'T' HH:mm:ss.SSS");
Run Code Online (Sandbox Code Playgroud)

现在,当检查日期是否会以此格式解析时,请根据您的格式进行更改

try{
     Date date = sdf.parse(yourdate);
     sdf.applyPattern("yy-mm--dd or mm/dd/yyyy");
     String dateformat = sdf.format(date);
}catch(Exception ex) { // here forgot the exact exception class Parse exception was used
    // do something here
}
Run Code Online (Sandbox Code Playgroud)

更新的帖子:

从java中的日期字符串的未知格式返回日期格式

如何在不知道格式的情况下将String转换为Date?

解析Java中的任何日期

  • 在不知道给定字符串格式的情况下,如何将格式指定为 SimpleDateFormat? (2认同)

归档时间:

查看次数:

73634 次

最近记录:

6 年,8 月 前