如何用JAVA把两个时间相减

1.如何获得系统当前时间格式为(yyyy-MM-dd HH:mm:ss)格式
(为了显示给用户看,不需要多线程,只显示一遍)
2.获得上机时间和下机时间后如何转化为毫秒格式
(用于时间相减得出使用时间的毫秒数)

急求 复制的别来 鄙视
最好用// 注明哪里是解答我第一个问题和第二个问题的
谢谢了 满意绝对加分! 分是小事

调试过的程序,可以直接运行`!!!!!!

import java.util.Date;

import com.ibm.icu.text.SimpleDateFormat;

public class mss {

public mss() {
}

public long fromDateStringToLong(String inVal) { //此方法计算时间毫秒
Date date = null; //定义时间类型
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-mm-dd hh:ss");
try {
date = inputFormat.parse(inVal); //将字符型转换成日期型
} catch (Exception e) {
e.printStackTrace();
}
return date.getTime(); //返回毫秒数
}

private static String dqsj() { //此方法用于获得当前系统时间(格式类型2007-11-6 15:10:58)
Date date = new Date(); //实例化日期类型
String today = date.toLocaleString(); //获取当前时间
System.out.println("获得当前系统时间 "+today); //显示
return today; //返回当前时间
}

public static void main(String[] args) {
String dqsj = dqsj(); //获得String dqsj = dqsj(); //获得当前系统时间
mss df = new mss(); //实例化方法

long startT=df.fromDateStringToLong("2005-03-03 14:51:23"); //定义上机时间
long endT=df.fromDateStringToLong("2004-03-03 13:50:23"); //定义下机时间

long ss=(startT-endT)/(1000); //共计秒数
int MM = (int)ss/60; //共计分钟数
int hh=(int)ss/3600; //共计小时数
int dd=(int)hh/24; //共计天数

System.out.println("共"+dd+"天 准确时间是:"+hh+" 小时 "+MM+" 分钟"+ss+" 秒 共计:"+ss*1000+" 毫秒");

}

}

这是执行结果``

获得当前系统时间 2007-11-6 15:57:39
共366天 准确时间是:8785 小时 527100 分钟31626001 秒 共计:31626001000 毫秒

参考资料:自己写的

温馨提示:内容为网友见解,仅供参考
第1个回答  2007-11-05
Date d = new Date();//获得当前时间
DateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式化时间

System.out.println(f.format(d));//格式化显示

Long ms = d.getTime();//获得毫秒值
第2个回答  2007-11-04
//如何获得系统当前时间格式为(yyyy-MM-dd HH:mm:ss)格式
Calendar cal = Calendar.getInstance();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //HH 24小时制
sf.format(cal.getTime())
第3个回答  2007-11-04
//1
java.util.Date date = new java.util.Date();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
sdf.format(date);

//2
long str = System.currentTimeMillis();
.....
.....
long end = System.currentTimeMillis();
long time = end - str;
第4个回答  2007-11-04
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.SimpleDateFormat;
class dd extends Frame implements ActionListener
{
long x=System.currentTimeMillis();
TextField tt,t1;
Button bb,bv;
SimpleDateFormat sim;
Date time;
dd()
{
tt=new TextField(18);t1=new TextField(18);
bb=new Button("显示当前时间");
bv=new Button("显示上机时间");
setLayout(new FlowLayout());
time=new Date(x);
String s="yyyy-MM-dd HH:mm:ss";
sim=new SimpleDateFormat(s);
System.out.print(""+sim.format(time));
add(bb);
bb.addActionListener(this);
bv.addActionListener(this);
add(tt);
add(bv);
add(t1);
setSize(150,100);
setVisible(true);
pack();
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);

}
});

}
public void actionPerformed(ActionEvent w)
{
if(w.getSource()==bb)
{
tt.setText(""+sim.format(time));
}
if(w.getSource()==bv)
{
long y=System.currentTimeMillis();
String s=String.valueOf(y-x);
t1.setText(s);
}
}
}
public class daxin
{
public static void main(String args[])
{

new dd();
}}

java 两个日期相减的怎么做?
对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转换,比如你想显示相差的秒数,就除以1000,以此类推,翠花,上代码:\/* 随便选两个时间 *\/ String d1 = "2015-04-17"; String d2 = "2015-06-17"; \/* 先转成毫秒并求差 *\/ SimpleDateF...

java 时间类型相减(Timestamp) 得到秒
可以使用Java中的Timestamp类进行时间类型的相减,然后将结果转化为秒。示例代码如下:```java import java.sql.Timestamp;import java.time.LocalDateTime;public class TimestampDemo { public static void main(String[] args) { \/\/ 定义两个时间戳 Timestamp timestamp1 = Timestamp.valueOf(LocalDa...

Java中使用什么方法可以把两个String类型的日期相减求出时间差啊?
public static final String SECOND = "Aug 12 00:00:00 GMT 2012";public static void main(String[] args) { \/\/通过字符串创建两个日期对象 Date firstDate = new Date(FIRST);Date secondDate = new Date(SECOND);\/\/得到两个日期对象的总毫秒数 long firstDateMilliSeconds = firstDate.get...

java实现两个时间相减,得到这个时间段是几年?不满1年的也算1年,依次类...
import java.text.ParseException;import java.util.Calendar;import java.util.Scanner;\/* * 需求:java实现两个时间相减,得到这个时间段是几年?不满1年的也算1年,依次类推,不满2年的算2年 * * PS:我是菜鸟,东拼四凑弄出来这个。大概思路是这样,健壮性判断和bug、优化代码就靠你自己了 ...

java中如何实现日期相减
求两个日期之间相隔的天数:Java代码示例:java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");java.util.Date beginDate= format.parse("2007-12-24");java.util.Date endDate= format.parse("2007-12-25");long day=(date.getTime()-mydate.getTime())\/(...

java实现两个日期相减得到中间的年份和月份
public static void main(String[] args) { String startTime = "2012-07-01";String endTime = "2014-07-31";String[] arg1 = startTime.split("-");String[] arg2 = endTime.split("-");int year1 = Integer.valueOf(arg1[0]);int year2 = Integer.valueOf(arg2[0]);int ...

java 中 日期怎么相加减
roll(f, delta) 将 delta 添加到 f 字段中,但不更改更大的字段。这等同于调用 add(f, delta)如果要计算2个日期之间的差距,可以取得自1970 年 1 月 1 日的 00:00:00.000各自的毫秒数字,然后相减 long millionSecondsForDate1 = date1.getTime();long millionSecondsForDate2 = date2.get...

java 两个时间相减
先转成Date 再获取毫秒数来减 java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Calendar c = Calendar.getInstance();String date1 = "2014-10-10 00:00:00";String date2 = "2015-10-10 00:00:00";c.setTime(sdf.parse(date1));int y1 ...

如何用JAVA把两个时间相减
public mss() { } public long fromDateStringToLong(String inVal) { \/\/此方法计算时间毫秒 Date date = null; \/\/定义时间类型 SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-mm-dd hh:ss");try { date = inputFormat.parse(inVal); \/\/将字符型转换成日期型 } catch (...

java 中 日期如何相加减???
要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方法一:DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try { Date d1 = df.parse("2004-03-26 13:31:40");Date d2 = df.parse("2004-01-02 11:30:24");long diff = d1.getTime() - d2.getTime();l...

相似回答