RSS/Atom操作ライブラリROME の DateParser クラスを使うとラクラク。

サンプルコード


import java.util.Date;
import com.sun.syndication.io.impl.DateParser;
 
public class RomeDateParserSample {
 
  public static void main(String[] args) {
    
    // RFC822
    String rfc822_string = DateParser.formatRFC822(new Date());
    System.out.println("rfc822_string");
    System.out.println(rfc822_string);
    System.out.println();
    Date rfc822_date = DateParser.parseRFC822(rfc822_string);
    System.out.println("rfc822_date");
    System.out.println(rfc822_date);
    System.out.println();
    
    // W3CDTF (W3C-DTF)
    String w3cdtf_string = DateParser.formatW3CDateTime(new Date());
    System.out.println("w3cdtf_string");
    System.out.println(w3cdtf_string);
    System.out.println();
    Date w3cdtf_date = DateParser.parseW3CDateTime(w3cdtf_string);
    System.out.println("w3cdtf_date");
    System.out.println(w3cdtf_date);
    System.out.println();
    
    // W3CDTF (W3C-DTF): YYYY-MM-DDThh:mm:ssTZD
    Date w3cdtf_date2 = DateParser.parseW3CDateTime("2008-12-19T18:55:00+09:00");
    System.out.println("w3cdtf_date2");
    System.out.println(w3cdtf_date2);
    System.out.println();
    
    // Date
    Date date = DateParser.parseDate("2008-12-19T18:55:00+09:00");
    System.out.println("date");
    System.out.println(date);
    System.out.println();
  }
 
}

出力結果


rfc822_string
Fri, 19 Dec 2008 13:07:57 GMT
 
rfc822_date
Fri Dec 19 22:07:57 JST 2008
 
w3cdtf_string
2008-12-19T13:07:58Z
 
w3cdtf_date
Fri Dec 19 22:07:58 JST 2008
 
w3cdtf_date2
Fri Dec 19 18:55:00 JST 2008
 
date
Fri Dec 19 18:55:00 JST 2008
 

参考

-rome: ROME: RSS/Atom syndication and publishing tools
-日付の表記に関するノート

tags: zlashdot Java Java

Posted by NI-Lab. (@nilab)