当前位置: 首页 > 知识库问答 >
问题:

如何检查时间戳是否早于某个月数?[副本]

巫马盛
2023-03-14

我正在尝试测试timestamp(我的实体中的一个字段)是否早于某个月数。

if(person.getBirthday().before(Timestamp.valueOf(String.valueOf(LocalDateTime.now().minusMonths(12)){
   //do something
}

问题是这段代码给了我一个错误:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:130)
Caused by: java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
    at java.sql.Timestamp.valueOf(Timestamp.java:202)

我还可以如何检查时间戳是否早于某个月数?

共有1个答案

茹高义
2023-03-14

这里:

Timestamp.valueOf(String.valueOf(LocalDateTime.now() [...])

您正在将LocalDateTime(从joda time转换为字符串,并期望TimeStamp.ValueOf(从java.sql.TimeStamp)能够解析它,但它们不使用相同的日期格式。

您应该将LocalDateTime转换为时间戳(即毫秒数),然后从这一点进行比较。

long timestamp = LocalDateTime.now().minusMonths(12).toDateTime().getMillis()

编辑:

然后可以从该长值创建新的时间戳并使用时间戳进行比较。before(Timestamp)

if(person.getBirthday().before(new Timestamp(timestamp)) {
  [...]
}
 类似资料:
  • 我正在开发一个spring api,在这个api中我使用postgres并保存一个timestamp类型的字段,字段名为。现在我想检查这个字段是否在两个不同的时间戳之间。 现在我正在使用这个: 是否可以在之间使用

  • 问题内容: 我在看: MySQL选择从现在到10分钟前的时间戳列所在的行 我有一个名字叫日期时间标记的上校: 我想使用以下命令提取所有超过15分钟的记录: 但是,即使数据库中存在的时间早于15分钟,该查询也始终返回0个结果。 问题答案: 年纪大了

  • 问题内容: 我有一个字符串,我需要找出它是否是unix时间戳,如何才能有效地做到这一点? 我通过Google找到了这个线程,但恐怕并没有一个非常可靠的答案。(是的,我在前面提到的帖子中抄写了原始海报上的问题)。 问题答案: 好吧,在摆弄了一段时间之后,我撤回了解决方案,建议改用此解决方案: 如果给定的是 字符串 并且仅由数字和可选的减号组成,则此检查将仅返回true 。 检查PHP_INT_MAX

  • 我创建了一个事件。现在我想检查它们是否重叠。我在数据库中以日期格式存储了开始时间和结束时间。 现在我想检查事件的时间是否重叠。为此,我想获取所有事件start Time和endTime,从日期检索小时和分钟,然后将小时和分钟与当前小时和分钟进行比较。 日期格式如下:df=新的SimpleDateFormat(“E-MMM-dd-HH:mm:ss-zz-yyyy”); 我第一次尝试通过查询比较两个日

  • 所以,我正在尝试检查用户是否在某个消息中被@过。这就是我目前拥有的: (它包装在客户端中。当检测到消息发送时) 我在这里做错了什么?

  • 问题内容: 我正在使用AndEngine将精灵添加到屏幕上,并使用movemodifier方法遇到。 我有两个整数MaxDuration和MinDuration; 我想要做的是当用户达到一定增量的分数时。 例如,当用户达到20(整数改变)时,用户达到40(整数改变)。因此,基本上是20分,每次得分遇到一个20分之一的数字,即整数的变化。我希望这是有道理的。 有什么方法或方法可以做到这一点吗?我有一