繁体   English   中英

如何在mysql和Java中修改比较和操作datetime值?

[英]How to modify compare and manipulate datetime values in mysql and Java?

我的数据库中有一列属于datetime类型的列。我想先提取记录,然后再将此datetime值与参考datetime值进行比较,然后监视相应datetime值的+-2个月内的某些活动(该日期时间之前的2个月和该日期时间之后的2个月)。我能够获取记录,但是对于操纵datetime值一无所知。我读了这篇文章( 如何更改datetime中的时间? ),但我无法获取因为该帖子仅更改时间,而不更改datetime的日期部分。此外,由于该帖子是针对C#的,因此我无法在Java中执行相同的操作。

注意:我的日期时间值的格式为yyyy-mm-dd hh:mm:ss

您可以根据需要在MySQL中执行某些操作。

 SELECT whatever FROM whattable
  WHERE whatdatetime > targettime - INTERVAL 2 MONTH
   AND  whatdatetime < targettime + INTERVAL 2 MONTH

这将检索指定四个月范围内的记录。

或者,您可以执行此操作以使用MySQL的日期算术。

 SELECT whatdatetime, 
        whatdatetime - INTERVAL 2 MONTH AS startrange,
        whatdatetime + INTERVAL 2 MONTH AS endrange

要在Java中完成这些工作,您将需要使用由java.util.GregorianCalendar实现的java.util.Calendar抽象类。

Java的GregorianCalendar类的实例可以提供以下方法调用,其中包括:

 calendar.add(Calendar.MONTH, -2);
 calendar.add(Calendar.MONTH,  2);

这应该可以让您到达目的地。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM