SimpleDateFormat is not parsing the milliseconds correctly

前端 未结 4 1999
臣服心动
臣服心动 2020-12-10 10:33

Background:

In my database table, I have two timestamps

timeStamp1 = 2011-08-23 14:57:26.662
timeStamp2 = 2011-08-23 14:57:26.9
         


        
4条回答
  •  天命终不由人
    2020-12-10 11:12

    I'd suggest using Joda-Time. It handles these situations properly. In the following example, the milliseconds are correctly parsed as 200ms.

    import org.joda.time.DateTime;
    import org.joda.time.format.DateTimeFormat;
    import org.joda.time.format.DateTimeFormatter;
    
    public class ParseMillis {
    
      public static void main(String[] args) {
        String s = "00:00:01.2";
        DateTimeFormatter format = DateTimeFormat.forPattern("HH:mm:ss.S");
        DateTime dateTime = format.parseDateTime(s);
        System.out.println(dateTime.getMillisOfSecond());
      }
    }
    

提交回复
热议问题