【发布时间】:2016-12-23 23:23:45
【问题描述】:
我正在尝试测试 timestamp(我的实体中的一个字段)是否早于某个月数。
我当前的代码是:
if(person.getBirthday().before(Timestamp.valueOf(String.valueOf(LocalDateTime.now().minusMonths(12)){
//do something
}
注意:生日是timestamp 字段,LocalDateTime 来自:org.joda.time.LocalDateTime
问题是这段代码给了我错误:
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)
我还能如何检查时间戳是否早于某个月数?
【问题讨论】:
标签: java timestamp jodatime illegalargumentexception