0

現在の時刻をフォーマットするために単純な日付形式を使用しようとしています:

    SimpleDateFormat sdf =  new SimpleDateFormat("yyyy/MM/dd"); 
    Date now = new Date(System.currentTimeMillis());
    try {
        java.util.Date formattedDate = sdf.parse(now.toString());
        System.out.println(formattedDate.toString());
    } catch (ParseException e) {
        e.printStackTrace();
    }

しかし、私が得ている出力は次のとおりです。

Fri Oct 18 00:00:00 CDT 2013

私は達成しようとしています:

2013/08/18

私は何を間違っていますか?

4

4 に答える 4

2

SimpleDateFormat#format(Date date)メソッドを使用する必要があります。このメソッドは、目的の方法で書式設定された日付を返します。このメソッドは から継承されていることに注意してくださいDateFormat

SimpleDateFormat sdf =  new SimpleDateFormat("yyyy/MM/dd"); 
Date now = new Date(System.currentTimeMillis());
String formattedDate = sdf.format(now);
System.out.println(formattedDate);
于 2013-10-18T13:30:39.500 に答える
1

これを使って試すことができます

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

    public class DateFormatTest {

      public static void main(String[] args) {
      Date now = new Date();

      // Use Date.toString()
      System.out.println(now);

      // Use DateFormat
      DateFormat formatter = DateFormat.getInstance(); // Date and time
      String dateStr = formatter.format(now);
      System.out.println(dateStr);
      formatter = DateFormat.getTimeInstance();        // time only
      System.out.println(formatter.format(now));

      // Use locale
      formatter = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL,       Locale.FRANCE);
      System.out.println(formatter.format(now));

     // Use SimpleDateFormat
     SimpleDateFormat simpleFormatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
     System.out.println(simpleFormatter.format(now));
  }
} 
于 2013-10-18T13:34:58.437 に答える
1

あなたはあなたを解析Dateしていますが、あなたのSimpleDateFormat. メソッドには独自の出力形式がありますDate#toString()SimpleDateFormat代わりにあなたを使用してください。

System.out.println(sdf.format(formattedDate));
于 2013-10-18T13:30:23.453 に答える