Java 如何基于日期获取时间戳(获取特定日期时间的时间戳)

Java 如何基于日期获取时间戳(获取特定日期时间的时间戳),java,timestamp,Java,Timestamp,请解决我的问题 我收到日期为2015年3月16日23:05的时间戳 2015年3月17日00:10 我在16-03-2015 23:05调用after()方法,将17-03-2015 00:10时间戳作为参数传递 我的问题是时间戳只考虑时间 所以在这种情况下 23:05的timmestamp大于00:10 但当我们与日期2015年3月17日00:10进行比较时,比2015年3月16日23:05更早 我想得到基于日期的时间戳有什么方法可以找到吗 请帮助您使用什么时间戳类?当我尝试用java.sql

请解决我的问题

我收到日期为2015年3月16日23:05的时间戳 2015年3月17日00:10

我在16-03-2015 23:05调用after()方法,将17-03-2015 00:10时间戳作为参数传递

我的问题是时间戳只考虑时间

所以在这种情况下 23:05的timmestamp大于00:10

但当我们与日期2015年3月17日00:10进行比较时,比2015年3月16日23:05更早

我想得到基于日期的时间戳有什么方法可以找到吗
请帮助

您使用什么时间戳类?当我尝试用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");
    }

}
导入java.sql.Timestamp;
导入java.util.Calendar;
导入java.util.Date;
公共类问题{
公共静态void main(字符串[]args){
Calendar c=Calendar.getInstance();
long now=c.getTimeInMillis();
时间戳t=新的时间戳(现在);
//只增加23个小时,以便在第二天有更少的时间
c、 添加(日历小时,23);
long later=c.getTimeInMillis();
时间戳t2=新的时间戳(稍后);
系统输出打印项次(t2);
System.out.println(t.before(t2)-“好的:before”:“Bäm”);
日期d=新日期(现在);
日期d2=新日期(更晚);
System.out.println(d.before(d2)-“好的:before”:“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>
时间戳比较正确:之前
日期:之前

也许您可以添加一个代码段。

您到底想要什么?2015年3月17日00:10不能早于2015年3月16日23:05,除非您使用不同的日历。必须是您这边的日期转换错误
new java.sql.Timestamp(new SimpleDateFormat(“dd-MM-yyy-HH:MM”).parse(“…”).getTime())
是否只比较日期的时间部分?