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) 得到秒的主要内容,如果未能解决你的问题,请参考以下文章