考虑这个程序:
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
public class Program {
public static void main(String[] args) throws Exception {
Date d = new Date(System.currentTimeMillis());
Time t = new Time(System.currentTimeMillis());
System.out.println("d = " + d);
System.out.println("t = " + t);
Timestamp ti = new Timestamp(d.getTime() + t.getTime()); // not working
System.out.println("ti = " + ti);
}
}
我有日期变量d和时间t我如何从这两个变量创建时间戳?
答案 0 :(得分:1)
问题是日期和时间实例的内部表示是相同的(System.currentTimeMillis()
)。
如果你想这样做,你必须从日期实例中删除时间部分,并从时间实例中删除日期部分:
public static void main(String args[]) {
Date d = new Date(System.currentTimeMillis());
Time t = new Time(System.currentTimeMillis());
System.out.println("d = " + d);
System.out.println("t = " + t);
long dd = d.getTime() / 86400000l * 86400000l;
System.out.println("dd = " + dd);
long tt = t.getTime() - (t.getTime() / 86400000l * 86400000l);
System.out.println("tt = " + tt);
Timestamp ti = new Timestamp(dd + tt);
System.out.println("ti = " + ti);
}
答案 1 :(得分:0)
简单的方法是用户“日历”类设置日期和时间。获取完整的时间戳。