-1

ヘルプが必要です。Java でこれを変換する方法を教えてください。2012 年 9 月 9 日 = 2012 年 9 月 9 日? 私たちのインストラクターはそれを課題として出します..月、日、年と別々に入力してください

事前にt​​hnx

package exam4;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;

public class Exam4 {

public static void main(String[] args) {


        String inMonth=JOptionPane.showInputDialog(null, "Enter Month");
            int intMonth = Integer.parseInt(inMonth);

        String inDay=JOptionPane.showInputDialog(null, "Enter Day");
            int intDay = Integer.parseInt(inDay);

        String inYear=JOptionPane.showInputDialog(null, "Enter Year");
            int intYear = Integer.parseInt(inYear);

        getDate(intMonth, intDay, intYear);


}

static void getDate(int intMonth, int intDay, int intYear){

    if((intMonth==2)&&(intDay<=29)&&(intYear<=9999)){
        JOptionPane.showMessageDialog(null, "February 29, 2012");
        genDate(intMonth,intDay,intYear);
    }         

        else if (((intMonth<12)&&(intDay<31)&&(intYear<9999))&&((intMonth==2)&&(intDay<=29)&&(intYear<=9999))){
            JOptionPane.showMessageDialog(null, "Regular date");

        }

        else{
            JOptionPane.showMessageDialog(null, "atik na date");
        }
}

static void genDate(int intMonth, int intDay, int intYear){

        String fMonth = Integer.toString(intMonth);
        String fDay = Integer.toString(intDay);
        String fYear = Integer.toString(intYear);

        String DateTime=fMonth+fDay+fYear;

    SimpleDateFormat dateFormat = new SimpleDateFormat("MMddyyyy");
    Date myDate = null;

        try {
            myDate = dateFormat.parse(DateTime);
        } catch (ParseException e) {
          }

    SimpleDateFormat timeFormat = new SimpleDateFormat("MMMMM dd, yyyy");
    String finalDate = timeFormat.format(myDate);

    JOptionPane.showMessageDialog(null,finalDate);

} 

}

02 02 2012 を入力すると、奇妙な日付が表示されます... 02 29 2012 と入力しようとすると、0013 年 12 月 13 日と表示されます.. 理由がわかりません =(

4

1 に答える 1

3

SimpleDateFormat以下のように、文字列を日付に変換してから文字列に戻すために使用します。

     DateFormat format1 = new SimpleDateFormat("MM-dd-yyyy");
     Date date = format1.parse("09-09-2012");
     DateFormat format2 = new SimpleDateFormat("MMMMM dd, yyyy");
     String dateString = format2.format(date);
     System.out.println(dateString); //<- prints September 09, 2012
于 2012-10-27T04:39:26.287 に答える