java 时间类型相减(Timestamp) 得到秒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 时间类型相减(Timestamp) 得到秒相关的知识,希望对你有一定的参考价值。

两个时间类型的相减,如2015-5-4 12:15:17减去2015-5-4 12:13:11 得到相减后两个时间之间相差多少秒。

可以使用Java中的Timestamp类进行时间类型的相减,然后将结果转化为秒。

示例代码如下:

```java
import java.sql.Timestamp;
import java.time.LocalDateTime;

public class TimestampDemo
public static void main(String[] args)
// 定义两个时间戳
Timestamp timestamp1 = Timestamp.valueOf(LocalDateTime.parse("2015-05-04T12:15:17"));
Timestamp timestamp2 = Timestamp.valueOf(LocalDateTime.parse("2015-05-04T12:13:11"));

// 计算时间差
long diff = timestamp1.getTime() - timestamp2.getTime();

// 转换为秒并输出
System.out.println("相差 " + diff / 1000 + " 秒");


```

在以上代码中,首先定义了两个时间戳 `timestamp1` 和 `timestamp2` 分别表示2015-5-412:15:17和2015-5-412:13:11。然后通过 `getTime()` 方法获取两个时间戳的毫秒数差值,并将其除以1000得到相差的秒数。

执行以上代码,输出结果为:

```
相差 126 秒
```

因此,2015-5-412:15:17减去2015-5-412:13:11得到相减后两个时间之间相差126秒。
参考技术A @Test
public void testTime() throws ParseException

String time1 = "2015-5-4 12:15:17";
String time2 = "2015-5-4 12:13:11";

SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
Date date1 = sdf.parse(time1);
Date date2 = sdf.parse(time2);

long date = date1.getTime() - date2.getTime();

System.out.println(date);
本回答被提问者和网友采纳
参考技术B 调用gettime()算一下就搞定啦

java日期相减得到天数

public class Dat static SimpleDateFormat h; public static void Test(Date date, int m) h = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String n = h.format(date); String myString = DateFormat.getDateInstance().format(date); System.out.println("格式化后:" + myString); Timestamp time = Timestamp.valueOf(n); // 在天数上加(减)天数 long l = time.getTime() + 24 * 60 * 60 * m * 1000; time.setTime(l); System.out.println("计算后的日期:" + time); public static void main(String arg[]) Date date=new Date(108,04,02); Test(date,5); 这个是加上天数的,怎么实现相减?有点问题

参考技术A import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;

public class Dat
private static SimpleDateFormat h;
private static Map<String ,Integer> map = new HashMap<String, Integer>();
static
map.put("date", Calendar.DATE);
map.put("month", Calendar.MONTH);
map.put("year", Calendar.YEAR);
map.put("hour", Calendar.HOUR);
map.put("minute", Calendar.MINUTE);
map.put("second", Calendar.SECOND);
map.put("millisecond", Calendar.MILLISECOND);
map.put("天", Calendar.DATE);
map.put("月", Calendar.MONTH);
map.put("年", Calendar.YEAR);
map.put("时", Calendar.HOUR);
map.put("分", Calendar.MINUTE);
map.put("秒", Calendar.SECOND);
map.put("毫", Calendar.MILLISECOND);


public static void Test(Date date,String type, int number)
Calendar cal = new GregorianCalendar();
cal.setTime(date);
cal.add(map.get(type), number);
Date newDate = cal.getTime();
System.out.println(DateFormat.getDateTimeInstance().format(newDate) + " " + date.getTime()%1000);


public static void main(String arg[])
//过时方法请不要使用
Date date=new Date();
Test(date,"date",5);
Test(date,"分",5);
Test(date,"minute",-5);

以上是关于java 时间类型相减(Timestamp) 得到秒的主要内容,如果未能解决你的问题,请参考以下文章

java Timestamp减当前时间得天数差

hive时间差

java 怎么得到timestamp的类型的当前时间

hive里面怎么把两个时间点相减 然后求出相隔多少秒?比如2015-05-01 12:02:03和

oracle把查两个日期相减的天数变成数字类型

java实现两个日期相减得到中间的年份和月份