1

現在のシステム時刻を取得して、 formatter で解析したいと思いSimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");ます。

.... error : java.text.ParseException: Unparseable date: "Tue Jan 13 17:05:51 PST 2015"は以下のアプローチで使用します:

public static void currentSystemTime() {
    Calendar calendar = new GregorianCalendar();
    try {
        System.out.println(format.parse(calendar.getTime().toString()));
    } catch (ParseException ex) {
        Logger.getLogger(DateDifference.class.getName()).log(Level.SEVERE, null, ex);
    }
}

一致するリテラル形式でシステム時刻を取得するにはどうすればよいSimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");ですか?

4

2 に答える 2

5

Date現在の時刻 (a )をフォーマットしたいのですStringDateFormat.parse(String)、その逆です。

DateFormat.format(Date)あなたが達成したいことに使用してください:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
System.out.println(sdf.format(new Date()));

ノート:

コンストラクターはオブジェクトをnew Date()割り当ててDate初期化し、割り当てられた時刻を最も近いミリ秒単位で表すようにします。したがってCalendar、現在の時刻を取得するために使用する必要はありません。

別:

format()のメソッドには複数のオーバーロードがありSimpleDateFormat、1 つは一般的なObject引数を取ります。

Format.format(Object)

Longこれは、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数としてフォーマット可能な日付/時刻も受け入れます。したがって、Dateインスタンスを作成せずに以下も機能します。

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
System.out.println(sdf.format(System.currentTimeMillis()));
于 2015-01-13T14:26:03.103 に答える
1

エラーがあります。次を使用してください。

System.out.println(format.format(calendar.getTime()));
于 2015-01-13T14:29:06.240 に答える