解析特定日期字符串格式

时间:2013-05-16 22:38:08

标签: java date calendar simpledateformat

我已经阅读了很多问题,并在互联网上搜索了很多库,但我找不到能够快速完成此操作的库。

我想以特定日期格式解析特定日期,如下所示:

String date = "20130516T090000";
SimpleDateFormat x = new SimpleDateFormat("yyyyMMddTHHmmss");

String theMonth = x.parse(date, "M"); // 05
String theMonth = x.parse(date, "MMM"); // MAY
String theMinute = x.parse(date, "mm"); // 00
String theYear = x.parse(date, "yyyy"); // 2013

就这么简单。一种设置解析规则,特定日期格式和检索我想要的每个数据的方法(月,分钟,年......)

有一个好的图书馆可以做到这一点吗?如果是,你可以把一个例子放在一起吗?如果不是,有没有一个很好的方法来做这个没有太多的代码?

提前致谢!

1 个答案:

答案 0 :(得分:3)

  1. 使用SimpleDateFormat类解析从StringDate实例的日期。

    String date = "20130516T090000";
    SimpleDateFormat x = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
    
    Date d = x.parse(date);      
    

    您的SimpleDateFormat格式字符串存在问题,格式中的文字必须使用单引号(')引用以避免解释。

  2. 使用Calendar课程获取所需日期的一部分。

    Calendar cal = Calendar.getInstance();
    cal.setTime(d);
    
    String theYear = String.valueOf(cal.get(Calendar.YEAR));
    String theMonth = String.valueOf(cal.get(Calendar.MONTH));
    String theMinute = String.valueOf(cal.get(Calendar.MINUTE));