5

"2012-04-13 04:08:42.794"次の文字列を日付型に変換しようとしています。

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");

    Date convertedDate;
    try {
        convertedDate = dateFormat.parse(dateString);
        System.out.println(" in utils: "+convertedDate.toString());
    } catch (ParseException e) {
        e.printStackTrace();
        return null;
    }


  //----------------- i think this is the problem
java.sql.Date sqlDate = new java.sql.Date(convertedDate.getTime());
        System.out.println("sql: "+sqlDate.toString());
        return sqlDate;

しかし、これは以下を印刷しています:

in utils: Fri Apr 13 04:08:42 PDT 2012

ミリ秒を保持するためにこの日付を取得するにはどうすればよいですか?

4

5 に答える 5

9

実際には、convertedDate オブジェクトにはミリ秒の情報が含まれています。ここでの問題は、toString() メソッドの形式がミリ秒を出力しないことです。

行う

 System.out.println(" in utils: " + dateFormat.format(convertedDate));

msが設定されているかどうかを確認することもできます

 System.out.println("millis: " + convertedDate.getTime());
于 2012-04-13T23:18:57.267 に答える
1

toString()を使用して印刷する代わりに、独自の印刷メソッドを作成できるため、必要な情報を具体的に印刷します。また、Dateクラスのほとんどが非推奨になっていることにも注意してください。http://docs.oracle.com/javase/6/docs/api/java/util/Date.htmlを参照してください。

于 2012-04-13T23:21:25.113 に答える
1
 Calendar now = Calendar.getInstance();
 System.out.println("Current milliseconds since Jan 1, 1970 are :"
              + now.getTimeInMillis());

java.util.Calendar http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.htmlを使用するだけです

于 2012-04-13T23:18:36.580 に答える
1

彼は私のやり方です(あなたと同じコードスタイルを維持しようとしています):

import java.util.*;
import java.text.*;
public class main {
 public static void main(String[] args)throws Exception {
 long yourmilliseconds = 1119193190;
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm:ss.SSS");

Date resultdate = new Date(yourmilliseconds);
System.out.println(sdf.format(resultdate));  } 
}  

出力:

Jan 13,1970 17:53:13.190

よろしく、エルワルド

于 2012-04-13T23:19:23.147 に答える