我有以下代码片段
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());
我将日期解析为 Tue Apr 10 00:53:28 IST 2012 ,时间戳为 2012-04-10 00:53:28.033 。 我想得到与 12:53:28.033 完全相同的时间(在我的原始字符串中)而不是 00: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