请解决我的问题
我正在获得日期为16-03-2015 23:05的时间戳 以及17-03-2015 00:10
我在16-03-2015 23:05通过17-03-2015 00:10时间戳作为参数调用after()方法
我的问题是时间戳只考虑时间
所以在这种情况下 timmestamp 23:05这大于00:10
但是当我们与日期17-03-2015 00:10比较时,比16-03-2015 23:05
我想根据日期得到时间戳有什么方法可以找到 请帮忙
答案 0 :(得分:1)
你使用什么时间戳?当我尝试使用java.sql.Timestamp重现您的案例时,一切正常:
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
public class TimestampProblem {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
long now = c.getTimeInMillis();
Timestamp t = new Timestamp(now);
// add only 23 hours in order to have less hours at next day
c.add(Calendar.HOUR, 23);
long later = c.getTimeInMillis();
Timestamp t2 = new Timestamp(later);
System.out.println(t2);
System.out.println(t.before(t2) ? "alright: <" + t + "> before <" + t2
+ ">" : "Bäm");
Date d = new Date(now);
Date d2 = new Date(later);
System.out.println(d.before(d2) ? "alright: <" + d + "> before <" + d2
+ ">" : "Bäm");
}
}
输出:
Timestamp comparison alright: <2015-03-10 12:01:47.061> before <2015-03-11 11:01:47.061>
Date comparison alright: <Tue Mar 10 12:01:47 CET 2015> before <Wed Mar 11 11:01:47 CET 2015>
也许您可以添加代码段。