如何将 Timestamp 转换为 Date 或 DateTime 对象?

新手上路,请多包涵

我正在使用 ResultSet.getTimestamp() 从数据库中检索时间戳对象,但我想要一种简单的方法来获取格式为 MM/DD/YYYY 的日期和格式为 HH:MM xx 的时间 --- 。我在四处修修补补,看起来我可以通过使用 Java 中的 Date 和/或 DateTime 对象来做到这一点。这是最好的方法,还是我什至需要转换时间戳才能完成此操作?任何建议都会有所帮助。

 ....
while(resultSet.next()) {
    Timestamp dtStart = resultSet.getTimestamp("dtStart");
    Timestamp dtEnd = resultSet.getTimestamp("dtEnd");

    // I would like to then have the date and time
    // converted into the formats mentioned...
    ....
}
....

原文由 Kris Schouw 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 689
2 个回答

java.sql.Timestampjava.util.Date 的子类。所以,只是向上它。

 Date dtStart = resultSet.getTimestamp("dtStart");
Date dtEnd = resultSet.getTimestamp("dtEnd");

从现在开始,使用 SimpleDateFormat 和创建 Joda DateTime 应该很简单。

原文由 BalusC 发布,翻译遵循 CC BY-SA 3.0 许可协议

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {

    public static void main(String[] args) {
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        Date date = new Date(timestamp.getTime());

        // S is the millisecond
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss:S");

        System.out.println(simpleDateFormat.format(timestamp));
        System.out.println(simpleDateFormat.format(date));
    }
}

原文由 Christopher 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题