时间戳格式匹配

时间:2012-04-15 04:38:31

标签: java android java-ee datetime

我写了一些用于将字符串转换为Timestamp的代码:

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

请建议

谢谢,

3 个答案:

答案 0 :(得分: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));

答案 1 :(得分:0)

再次使用你的sdf

 System.out.println(sdf.format(parsedDate));

答案 2 :(得分:0)

format()的输出始终是String。你到底在想什么?

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