0

我写了这段代码来将字符串转换为时间戳:

String timeStamp = "2012-04-13 09:00:30";

    try{

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        java.util.Date parsedDate = sdf.parse(timeStamp);
        System.out.println(parsedDate.toString());
        java.sql.Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
        System.out.println(timestamp.toString());           

    }catch (Exception e) {
        // TODO: handle exception
    }

我得到的输出是:

2012-04-13 09:00:30.0

但我希望输出为:

2012-04-13 09:00:30

即我最后不需要 .0

请建议

谢谢,

4

3 回答 3

1

你需要使用format()的方法SimpleDateFormat

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    //parsing string to date
    java.util.Date parsedDate = sdf.parse(timeStamp);
    //invoking toString() method which has its fixed format output
    System.out.println(parsedDate.toString());

现在使用

    System.out.println(sdf.format(parsedDate));
于 2012-04-15T04:42:02.363 回答
0

像这样再次使用你的 sdf

 System.out.println(sdf.format(parsedDate));
于 2012-04-15T04:46:21.220 回答
0

format() 的输出总是一个字符串。你到底在找什么?

您抱怨的“.0”仅存在于对象的字符串表示中。当它被插入数据库时​​,它是一个时间戳,而不是一个字符串。(当您直接查询数据库时,您可能会或可能不会看到额外的小数;这取决于您如何编写我们的 SQL。)

于 2012-04-15T05:17:18.253 回答