Java 如何将getTime转换为秒?

Java 如何将getTime转换为秒?,java,jdbc,timestamp,Java,Jdbc,Timestamp,在这件事上你能帮忙吗 我定义了一个变量,它是: Time from_time = rs.getTime("nfrm_time"); 它将在7:15:00读取值 如何将此类型转换为秒?long seconds=rs.getTime(“nfrm\u time”).getTime()/1000 解释如下: rs.getTime(“nfrm\u-time”)返回java.sql.time,它实际上是java.util.Date的一个子类 java.util.Date.getTime()返回以毫秒为单位

在这件事上你能帮忙吗

我定义了一个变量,它是:

Time from_time = rs.getTime("nfrm_time");
它将在7:15:00读取值


如何将此类型转换为秒?

long seconds=rs.getTime(“nfrm\u time”).getTime()/1000

解释如下:

rs.getTime(“nfrm\u-time”)
返回
java.sql.time
,它实际上是
java.util.Date
的一个子类

java.util.Date.getTime()
返回以毫秒为单位的时间,我们除以
1000
得到秒数

注意:

如果你想要的是持续时间

Calendar cal = Calendar.getInstance();

cal.setTime(rs.getTime("nfrm_time")); // set to the time returned by resultset
cal.set(0, 0, 0); // reset the year, month and date fields

Calendar cal2 = Calendar.getInstance();

cal2.set(0, 0, 0, 0, 0, 0); // reset all the fields, including time

long duration = ((cal.getTimeInMillis() - cal2.getTimeInMillis()) / 1000) + 1;
调用以获取自1970年1月1日以来的毫秒数。除以1000可在几秒钟内得到:

long unixTime = from_time.getTime() / 1000;
要获取自当日00:00起的秒数,请使用

Calendar c = Calendar();
c.setTime(from_time);
long daySeconds = (c.get(Calendar.SECONDS) +
                   c.get(Calendar.MINUTES) * 60 +
                   c.get(Calendar.HOURS) * 3600);
尝试:

这可能有效,因为:

日期组件应设置为1970年1月1日的“零历元”值,并且不应访问


这意味着日期部分始终是纪元日,这意味着
时间
实例由从一天开始算起的毫秒数表示。

java.sql.Time继承自java.util.date,它有一个方法getTime(),返回自1970年1月1日00:00:00 GMT以来的毫秒数


因此,from_time.getTime()/1000的
应该可以做到这一点。

要获得毫秒数:

long ms = from_time.getTime();
更干净的方法是
Time from\u Time=Math.round(rs.getTime(“nfrm\u Time”)/1000)

@maas幸运的是,将毫秒转换为秒非常容易:只需除以1000。向已执行此操作的代码中添加了文本。它将时间转换为不正确的值。时间是00:04:00,即4分钟,在转换中显示-10560000@maas这是因为UNIX time计算的是从1970年到现在的秒数,而不是从今天开始到现在的秒数。使用计算一天中秒数的解决方案进行更新。它将时间转换为不正确的值。时间为00:04:00,即4分钟,在转换中显示-10560000,它将时间转换为不正确的值。时间为00:04:00,即4分钟,在转换中显示-10560000,它将时间转换为不正确的值。我的值为00:04:00,即4分钟,在转换中显示(-10560000)更新了我的答案。我试过了,但没有成功,它显示了一个错误---Time time1=Time.valueOf(rs.getTime(“abs_hours”);java.sql.Time中的valueOf(java.lang.String)不能应用于(java.sql.Time),因为它将时间转换为不正确的值。时间是00:04:00,即4分钟,在转换中显示-10560000-
long ms = from_time.getTime();