2

日付の形式を MM/DD/YYYY に変更したいのですが、現在は YYYY/MM/DD になっています。

調べてみましたが、皮肉なことにいつも逆です。ここで、逆方向に試してみて、そこから作業してみてくださいと言うかもしれませんが、うまくいきませんでした。

すべてのものを呼び出すための私のクラス:

import java.util.*;
import java.text.*;

class Driver {   
   public static void main (String[] args) {    
       Kid kid;
       Node list = new Node(); 

       kid = createKid("Lexie", 2.6, "11/5/2009"); 
       insertEnd(list, kid);
       kid = createKid ("Sally", 2.3, "4/8/2009"); 
       insertEnd(list, kid);
       kid = createKid ("Joe", 2.7, "6/16/2009");
       insertEnd(list, kid);
       kid = createKid ("Bob", 2.2, "1/16/2009");
       insertEnd(list, kid);
       kid = createKid ("Tom", 3.1, "8/16/2009");
       insertEnd(list, kid);
       printList(list);
   } //end main method

   public static Kid createKid(String name, double height, String date) {
       return new Kid(name, height, date);
   }

} //end class     


import java.util.*; 
import java.text.SimpleDateFormat;
import java.io.*;
class Kid {  
    String name; 
    double height; 
    GregorianCalendar bDay; 

    ...
    /**
     * Second constructor for kid
     * Setting instances to equal the constructors of this
     * @param 1: Setting n (aka name,   but it was taken) to equal the instance var of name
     * @param 2: Setting h (aka height, but it was taken) to equal the instance var of height
     * @param 3: Setting date to equal the instance var of bDay with some modifications
     */
    public Kid (String n, double h, String date) {
        StringTokenizer st = new StringTokenizer(date, "/");
        this.name = n;
        this.height = h;
        this.bDay = new GregorianCalendar(Integer.parseInt(st.nextToken()), 
        Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()));
    }

    /**
     * public String toString() { 
     * Converting Java language to English language
     */
    public String toString() {

        return (this.name + ", Height: " + this.height + "ft., Born: "
        +       this.bDay.get(Calendar.DATE) + "/" + this.bDay.get(Calendar.MONTH) 
        + "/" + this.bDay.get(Calendar.YEAR));

    }
} //end class 

ちなみに、Simple Date Format クラスと Date Format クラスはよく知らず、実装しようとして失敗しました。

4

2 に答える 2

7

SimpleDateFormatに変換するために使用するStringだけですDate。面倒なCalendarAPI に煩わされる必要はありません。

String dateString = "2012/06/05";
Date date = new SimpleDateFormat("yyyy/MM/dd").parse(dateString);

代わりに、コード全体でこのDateオブジェクトを使用してください。Dateオブジェクトを人間に提示する必要があるときはいつでも、別の を使用してSimpleDateFormatください:

String dateString = new SimpleDateFormat("MM/dd/yyyy").format(date);
于 2012-06-05T16:56:13.407 に答える