1
我想測試一個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)
我還可以檢查時間戳是否比某個數字早? f月?
感謝,也請您展示如何使用比較timestamp.before(),我不認爲.before()方法可能需要很長時間作爲參數? – java123999
@ java123999不可以,但您可以使用long值來創建一個新的'Timestamp'。然後使用'TImestamp.before(Timestamp)'。 –
好的,如何從long值創建新的時間戳?我只是使用時間戳和日期等新東西,因此容易的問題! – java123999