以下のコードスニペットがあります
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss.SSS");
String processedContentDate="2012-04-10 12:53:28.033";
java.util.Date parsedDate = dateFormat.parse(processedContentDate);
java.sql.Timestamp timestamp = new java.sql.Timestamp(
parsedDate.getTime());
解析された日付はTueApr10 00:53:28 IST 2012で、タイムスタンプは2012-04-10 00:53:28.033です。 00:53:28.033ではなく12:53:28.033(元の文字列のように)と正確に時刻を取得したい。 12:53:28が00:53:28に変換される理由がわかりません。12:53:28を取得するにはどうすればよいですか?
編集:応答を取得した後、現在の時刻が14:34:38.899であるこの小さなプログラムを試しましたが、両方の行、つまり1行目と2行目で、解析日を下回りました2012-04-10 14:34:38.899返信日付形式は次のように、1行目で02:34:38.899を取得する必要がありますyyyy-MM-dd hh:mm:ss.SSS")
java.util.Date date= new java.util.Date();
String strDate=date.toString();
java.util.Date parsedDate;
java.util.Date parsedDate2;
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss.SSS");// line 1
SimpleDateFormat dateFormat2 = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss.SSS");//line 2
try {
java.sql.Timestamp timestamp = new java.sql.Timestamp(date.getTime());
strDate=timestamp.toString();
parsedDate = dateFormat.parse(strDate);//line1
parsedDate2 = dateFormat2.parse(strDate);//line2