解析时间戳后,在java中添加时间戳的毫秒数

时间:2012-09-26 04:41:12

标签: java

我想将字符串时间转换为Timestamp Object

我的解析代码就像这样

String ts = "120918 10:35:45";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd hh:mm:ss");          
java.util.Date parsedDate = dateFormat.parse(ts);           
//parsing timestamp
Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
System.out.println("timestamp after parsing :: "+timestamp);

它给了我结果: - timestamp after parsing :: 2012-09-18 10:35:45.0

但我不想要毫秒数。我只想要这个 - 2012-09-18 10:35:45

请帮我删除毫秒部分。

3 个答案:

答案 0 :(得分:3)

Timestamp是一个毫秒的容器。 toString()根据其认为最适合显示的内容格式化它包含。

如果要格式化值,则应使用日期格式化程序,而不要使用Timestamp对象返回的值。

SimpleDateFormat noMilliSecondsFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(noMilliSecondsFormatter.format(timestamp));

NB。您拥有的值(转换后)不包含任何毫秒......

答案 1 :(得分:1)

我的猜测,可能你没有在println()中使用“noMilliSecondsFormatter”。

答案 2 :(得分:0)

方法java.util.Date.getTime()根据其javaDoc:

  

返回自1970年1月1日00:00:00 GMT以来的毫秒数   由此Date对象

表示

因此,当您创建TimeStamp对象时,您已经过了几秒钟。