「Java」和暦フォーマット日付を西暦に変換するサンプル

2022年6月28日

構文
1.Calendarインスタンスを取得します
Locale locale = new Locale(“ja", “JP", “JP");
Calendar calendar = Calendar.getInstance(locale);
getInstance(Locale aLocale)
デフォルトのタイムゾーンおよび指定されたロケールを使用してカレンダを取得します。

2.setLenient(boolean lenient)
日時解析を厳密に行うかどうかを設定します。

使用例

package com.arkgame.study;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

public class WarekiYear {

      public static void main(String[] args) {
            // Calendarインスタンスを取得
            Locale locale = new Locale("ja", "JP", "JP");
            Calendar calendar = Calendar.getInstance(locale);

            DateFormat jpFmt = new SimpleDateFormat("GGGGy年M月d日", locale);
            String curalTime = "平成30年2月10日";
            System.out.println("和暦形式:" + curalTime);

            // 和暦にフォーマット日時を西暦に変換する
            calendar.setLenient(false);
            Date dt = null;
            try {
                  dt = jpFmt.parse(curalTime);
            } catch (ParseException e) {
                  // TODO 自動生成された catch ブロック
                  e.printStackTrace();
            }
            System.out.println("西暦形式:" + dt);
      }

}

実行結果
和暦形式:平成30年2月10日
西暦形式:Sat Feb 10 00:00:00 JST 2018

Java

Posted by arkgame