将Mon / yyyy转换为日期

时间:2014-06-27 20:14:07

标签: java simpledateformat

我的字符串格式为2014年6月。我想把它转换成日期。这个日期任何一天都可以。

如何实现这一目标?我试过跟随代码,但它没有用。

  String fromdate="Jun/2014";
  SimpleDateFormat  format = new SimpleDateFormat("mm/yyyy");   
  String date = format.format(fromdate);  

4 个答案:

答案 0 :(得分:3)

你应该试试

        String fromdate = "Jun/2014";
    SimpleDateFormat format = new SimpleDateFormat("MMM/yyyy");
    Date date = null;
    try {
        date = format.parse(fromdate);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println(date);

你的结果: Sun Jun 01 00:00:00 ECT 2014

答案 1 :(得分:1)

javadoc对此有相当不错的解释。 http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

我只是粘贴上面链接中提供的示例。可以看出,它应该是7月的MMM

    Date and Time Pattern                           Result
"yyyy.MM.dd G 'at' HH:mm:ss z"                  2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy"                              Wed, Jul 4, '01
"h:mm a"                                        12:08 PM
"hh 'o''clock' a, zzzz"                         12 o'clock PM, Pacific Daylight Time
"K:mm a, z"                                     0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa"                  02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z"                    Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"                                 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"                    2001-07-04T12:08:56.235-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"                  2001-07-04T12:08:56.235-07:00
"YYYY-'W'ww-u"                                  2001-W27-3

答案 2 :(得分:1)

        String fromdate="Jun/2014";
        SimpleDateFormat f = new SimpleDateFormat("MMM/yyyy");
        try {
            Date  date = f.parse(fromdate);
            String d = f.format(date);
            System.out.println(d);
        } catch (ParseException e) {
            e.printStackTrace();  
        }

答案 3 :(得分:0)

避免使用java.util.Date

其他答案(。日期,。日历,.SimpleDateFormat)中使用的类是众所周知的麻烦,在设计和实现方面都存在缺陷。避免他们。而是使用Java 8中的Joda-Time或java.time包。

仅限日期类

其他答案中使用的类的另一个问题:无法表示仅限日期而没有任何时间部分。 Joda-Time和java.time都为此目的提供了LocalDate类。

约达时间

以下是Joda-Time 2.3中的示例代码。

String input = "Jun/2014";
DateTimeFormatter formatter = DateTimeFormat.forPattern( "MMM/yyyy" );
LocalDate localDate = formatter.parseLocalDate( input ); // Assumes the first of the month.

转储到控制台。

System.out.println( "input: " + input );
System.out.println( "localDate: " + localDate );

跑步时。

input: Jun/2014
localDate: 2014-06-01