1. ホーム
  2. java

[解決済み] Mon Jun 18 00:00:00 IST 2012" を "18/06/2012" に変換する方法を教えてください。

2022-02-09 06:37:44

質問内容

次のような値があります。 Mon Jun 18 00:00:00 IST 2012 で、これを 18/06/2012

どのように変換するのですか?

私はこの方法を試してみました

public String toDate(Date date) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
        Date theDate = null;
        //String in = date + "/" + month + "/" + year;
        try {
            theDate = dateFormat.parse(date.toString());
            System.out.println("Date parsed = " + dateFormat.format(theDate));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return dateFormat.format(theDate);
    }

しかし、次のような例外が発生します。

java.text.ParseException: Unparseable date: "Mon Jun 18 00:00:00 IST 2012"

解決方法は?

以下のプログラムがあなたの問題を解決することを願っています。

String dateStr = "Mon Jun 18 00:00:00 IST 2012";
DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
Date date = (Date)formatter.parse(dateStr);
System.out.println(date);        

Calendar cal = Calendar.getInstance();
cal.setTime(date);
String formatedDate = cal.get(Calendar.DATE) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" +         cal.get(Calendar.YEAR);
System.out.println("formatedDate : " + formatedDate);