将日期从字符串表示形式转换为数字表示形式并再次转换回来

发布于 2024-09-19 10:22:48 字数 422 浏览 11 评论 0原文

是否有任何模式或已知方法可以将日期从字符串表示形式转换为数字表示形式,反之亦然?
背景:
我使用 Apache Derby 数据库作为 Java 程序的持久性。我想做这样的事情:

Select * from MyTable where date_column > 20100914154503 order by date_column DESC
// 20100914154503 = 2010-09-14 15:45:03

我的日期存储在我的java程序中我正在使用Joda Time( https://www.joda.org/joda-time/) DateTime 对象。
谢谢

Are there any patterns or known ways of converting a date from a string representation to a numerical representation and vice versa?
Background:
I am using an Apache Derby database as the persistence for a Java program. I would like to do something like this:

Select * from MyTable where date_column > 20100914154503 order by date_column DESC
// 20100914154503 = 2010-09-14 15:45:03

My dates are stored in my java program I am using Joda Time ( https://www.joda.org/joda-time/) DateTime object.
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白色秋天 2024-09-26 10:22:48

我不太确定您实际上想要做什么或为什么需要使用字符串,但一般来说您应该使用 PreparedStatement。然后,您可以使用 java.sql.TimestampPreparedStatement 中设置日期:

DateTime date = ...;
Connection conn = ...;
PreparedStatement ps = conn.prepareStatement(
    "Select * from MyTable where date_column > ? order by date_column DESC");
ps.setTimestamp(1, new Timestamp(date.getMillis()));

I'm not too sure what you're actually trying to do or why you need to use a string at all, but in general you should use a PreparedStatement. Then you can just set the date in the PreparedStatement using a java.sql.Timestamp:

DateTime date = ...;
Connection conn = ...;
PreparedStatement ps = conn.prepareStatement(
    "Select * from MyTable where date_column > ? order by date_column DESC");
ps.setTimestamp(1, new Timestamp(date.getMillis()));
戏剧牡丹亭 2024-09-26 10:22:48

强烈考虑研究您的数据库如何管理日期和时间,因为它可能可以满足您的需要。请记住,您拥有的日期应存储在数据库表中的日期字段中。

Strongly consider looking into how your database manages dates and time, since it can probably do what you need. Remember that the date you have should be stored in a date field in the database table.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文