TimeZoneによる日付表示の変換

編集者:Terai Atsuhiro
作成日:2004-04-19
更新日:2021-04-14 (水) 04:00:58

概要

TimeZoneなどを使って、日付の表示を変換します。

http://terai.xrea.jp/swing/timezone/screenshot.png

サンプルコード

  final SimpleDateFormat format = 
    new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US);
  final DateFormat df = DateFormat.getDateTimeInstance();
  field.setText("Mon, 19 Apr 2004 16:31:41 +0900");
  outf.setEditable(false);
  df.setTimeZone(TimeZone.getTimeZone("JST"));
  JButton button = new JButton(new AbstractAction("変換") {
    public void actionPerformed(ActionEvent e) {
      String str = field.getText().trim();
      ParsePosition pp = new ParsePosition(0);
      Date date = format.parse(str, pp);
      if(date!=null) {
        outf.setText(df.format(date));
      }else{
        outf.setText("error");
        Logger.global.info(pp.toString());
      }
    }
  });

解説

サンプルプログラムでは、メールなどのDateを変換するようにしています。

コメント