问题我面对的是dateFormat.parse(字符串)?

M S*_*ach 0 java date

我有下面的代码片段

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());
Run Code Online (Sandbox Code Playgroud)

我的解析日期为2012年4月10日星期二00:53:28,时间戳为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
Run Code Online (Sandbox Code Playgroud)

jue*_*n d 5

定义你的dateFormat喜欢

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Run Code Online (Sandbox Code Playgroud)

HH而不是hh.请参阅SimpleDateFormat