當前位置:首頁 » 編程語言 » java時間相減

java時間相減

發布時間: 2022-04-20 13:49:18

java 解決時間相減問題

//可以參照一下。

import java.text.ParseException;
import java.text.SimpleDateFormat;

public class JavaTest {

/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2004-03-26 13:31:34");
java.util.Date date=df.parse("2004-01-02 11:30:53");
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(""+day+"天"+hour+"小時"+min+"分"+s+"秒");

}

}

❷ java實現兩個時間相減得到年月

大概判斷了一下,比較粗糙,僅供參考。
privatestaticvoidfunction17()throwsException{
Scannersc=newScanner(System.in);
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
System.out.println("請輸入起始時間");
Datedate1=sdf.parse(sc.next());
System.out.println("請輸入截止時間");
Datedate2=sdf.parse(sc.next());
longtime1=date1.getTime();
longtime2=date2.getTime();
longtime=(time2-time1)/1000;
longyear=time/(24*3600*365);
longmonth=time%(24*3600*365)/(24*3600*30);
if(year>0){
System.out.println(year+"年"+month+"月");
}else{
System.out.println(month+"月");
}
}

❸ java 時間(Date)相減為何出現負數

你的問題其實跟日期沒關系,你的問題其實可以描述為下面這樣:
long diff = 2160000000;
int result = (int)(diff)/1000/60/60/24;
System.out.println(result);
為什麼經過計算後result結果為負數,原因是因為在java語言中int類型的取值范圍是:-2147483648~2147483647,而你給的long型的diff超出了2147483647的最大值,導致最高位符號位變成了1,於是經過強制類型轉換(int)(diff)之後,已經就是一個負數了,所以除法運算的結果也就成了負數。而當diff等於2073600000的時候,這個值並沒有超出int類型的范圍,所以計算出的結果是正數

❹ java時間加減

Datedate=newDate("2014/1/1018:20");
Datedate2=newDate("2014/1/113:5");
longtemp=date2.getTime()-date.getTime();//相差毫秒數
longhours=temp/1000/3600;//相差小時數
longtemp2=temp%(1000*3600);
longmins=temp2/1000/60;//相差分鍾數
System.out.println("date2與date相差"+hours+"小時"+mins+"分鍾");



****************************************希望能夠幫助到你!************************************************
如果我的回答對你有幫助,
別忘了點擊我的回答下方【選為滿意答案】按鈕。
謝謝!

❺ java中日期怎麼相減

呵呵,你這個錯誤犯得很好,因為偶曾經也犯過。

你去查查calendar的API,看看mouth是從幾開始的,你寫3進去,到底最終的日期是多少呢?

Calendarcalendar=Calendar.getInstance();
calendar.set(2015,3,1);
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(calendar.getTime()));

看看結果啊,哈哈。

❻ java 如何將日期年份相減

import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Admin {

private static Format f = new SimpleDateFormat("yyyy-MM-dd");

public static void main(String... args) {

Date thisYear = new Date();
System.out.println(formatDate2YYYYMMDD(thisYear));

Date lastYear = lastYear(thisYear);
System.out.println(formatDate2YYYYMMDD(lastYear));
}

private static Date lastYear(Date thisYear) {
Calendar c = Calendar.getInstance();
c.setTime(thisYear);
c.add(Calendar.YEAR, -1);
return c.getTime();
}

private static String formatDate2YYYYMMDD(Date date) {
return f.format(date);
}
}

❼ java 中 日期如何相加減

這個東西很簡單。
現在是2004-03-26 13:31:40
過去是:2004-01-02 11:30:24
要獲得兩個日期差,差的形式為: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();
long days = diff / (1000 * 60 * 60 * 24);
}
catch (Exception e)
{
}

方法二:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2004-03-26 13:31:40");
java.util.Date date=df.parse("2004-01-02 11:30:24");
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(""+day+"天"+hour+"小時"+min+"分"+s+"秒");

方法三:
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
java.util.Date end = dfs.parse("2004-03-26 13:31:40");
long between=(end.getTime()-begin.getTime())/1000;//除以1000是為了轉換成秒

long day1=between/(24*3600);
long hour1=between%(24*3600)/3600;
long minute1=between%3600/60;
long second1=between%60/60;
System.out.println(""+day1+"天"+hour1+"小時"+minute1+"分"+second1+"秒");

❽ 如何用JAVA把兩個時間相減

調試過的程序,可以直接運行`!!!!!!

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 毫秒

熱點內容
玩火影筆記本要什麼配置 發布:2024-04-25 08:34:59 瀏覽:208
sql性能監視器 發布:2024-04-25 08:21:48 瀏覽:832
吃雞ak配置什麼最好 發布:2024-04-25 08:15:46 瀏覽:447
firefox緩存目錄 發布:2024-04-25 08:00:31 瀏覽:940
我的世界國服怎麼免費弄伺服器 發布:2024-04-25 08:00:16 瀏覽:540
javaapi源碼 發布:2024-04-25 07:51:15 瀏覽:606
怎麼在伺服器執行jmeter腳本 發布:2024-04-25 07:35:25 瀏覽:397
域名訪問https 發布:2024-04-25 07:16:56 瀏覽:414
javaie亂碼 發布:2024-04-25 07:07:15 瀏覽:602
php開發微信支付 發布:2024-04-25 06:57:38 瀏覽:317