我想将字符串时间转换为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
请帮我删除毫秒部分。
答案 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对象时,您已经过了几秒钟。