1

我正在使用以下代码将我的日期存储在我的数据库中:

String mydate = java.text.DateFormat.getDateTimeInstance().format(
                Calendar.getInstance().getTime());

这是数据库中的一个字符串。有多个列表,我想向用户显示基于当天所做的更改。

在 sqlserver 中有一个实际的日期变量,您可以在其上运行 BETWEEN,我不确定如何使用我正在使用的当前数据类型来实现它。

可能有更好的方法来存储日期,但这是我能够成功做到这一点的唯一方法。

4

2 回答 2

2

这是数据库中的一个字符串。有多个列表,我想向用户显示基于当天所做的更改。

您可以通过定义自定义Date模式来改进您的实际代码。例如,您可以使用它来实现它SimpleDateFormat,然后使用您定义的模式将日期存储为字符串。

有多个列表,我想向用户显示基于当天所做的更改。

因此,我想到的第一个想法是,当您确切知道存储日期的格式时,您可以简单地使用substr()函数从整体中获取例如一天Date,然后只比较天。等效将仅比较月份等。


对于测试,如果您指定了正确的模式,SimpleDateFormat您可以使用:

于 2013-04-28T17:26:08.040 回答
1

如果您将日期存储为字符串,则需要指定“可比较”格式,例如 YYYY-MM-DD HH:nn:ss,或者更短的 YYYYMMDDHHnnSS。不过,将日期存储为整数纪元可能会更好(自 1970 年以来的秒数)。如果您正在索引列并针对它运行比较查询,则尤其如此。

于 2013-04-28T17:22:12.080 回答