導航:首頁 > 編程語言 > java比較年月

java比較年月

發布時間:2023-07-14 15:16:36

java怎麼比較兩個日期(年和月)的大小

你好,沒有這樣的函數。不過我可以給你一段比較的代碼。希望對你有幫助。代碼如下:import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; /**
*
* @author hp
*/
public class test { public static void main(String args[]) {
int i= compare_date("2009-11-12 15:21", "2009-12-11 09:59");
System.out.println("i=="+i);
} public static int compare_date(String DATE1, String DATE2) {

DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
System.out.println("dt1 在dt2前");
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
System.out.println("dt1在dt2後");
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
}

❷ Java比較兩個時間相差多少天,多少個月,多少年

java比較兩個時間相差,可以使用calender類的api,實例如下:
package com.test;

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

/**
* @description 日期比較天 月 年
* @author www.javawind.net
*/

public class DateTest {

public static void main(String[] args) {
String date = "2008-06-12";

DateTest.compareDate(date, null, 0);
DateTest.compareDate(date, null, 1);
DateTest.compareDate(date, null, 2);

date = "2006-06-03";
DateTest.compareDate(date, null, 0);
DateTest.compareDate(date, null, 1);
DateTest.compareDate(date, null, 2);
DateTest.compareDate(date, "2009-06-01", 0);
DateTest.compareDate(date, "2009-06-01", 1);
DateTest.compareDate(date, "2009-06-01", 2);
}

/**
* @param date1 需要比較的時間 不能為空(null),需要正確的日期格式
* @param date2 被比較的時間 為空(null)則為當前時間
* @param stype 返回值類型 0為多少天,1為多少個月,2為多少年
* @return
*/
public static int compareDate(String date1,String date2,int stype){
int n = 0;

String[] u = {"天","月","年"};
String formatStyle = stype==1?"yyyy-MM":"yyyy-MM-dd";

date2 = date2==null?DateTest.getCurrentDate():date2;

DateFormat df = new SimpleDateFormat(formatStyle);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
try {
c1.setTime(df.parse(date1));
c2.setTime(df.parse(date2));
} catch (Exception e3) {
System.out.println("wrong occured");
}
//List list = new ArrayList();
while (!c1.after(c2)) { // 循環對比,直到相等,n 就是所要的結果
//list.add(df.format(c1.getTime())); // 這里可以把間隔的日期存到數組中 列印出來
n++;
if(stype==1){
c1.add(Calendar.MONTH, 1); // 比較月份,月份+1
}
else{
c1.add(Calendar.DATE, 1); // 比較天數,日期+1
}
}

n = n-1;

if(stype==2){
n = (int)n/365;
}

System.out.println(date1+" -- "+date2+" 相差多少"+u[stype]+":"+n);
return n;
}

/**
* 得到當前日期
* @return
*/
public static String getCurrentDate() {
Calendar c = Calendar.getInstance();
Date date = c.getTime();
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd");
return simple.format(date);

}
}
運行結果:
2008-06-12 -- 2009-06-09 相差多少天:362
2008-06-12 -- 2009-06-09 相差多少月:12
2008-06-12 -- 2009-06-09 相差多少年:0
2006-06-03 -- 2009-06-09 相差多少天:1102
2006-06-03 -- 2009-06-09 相差多少月:36
2006-06-03 -- 2009-06-09 相差多少年:3
2006-06-03 -- 2009-06-01 相差多少天:1094
2006-06-03 -- 2009-06-01 相差多少月:36
2006-06-03 -- 2009-06-01 相差多少年:2
可以參考上面的程序,如果還有什麼不明白的,可以自己去ITjob網上看看,有介紹Java這方面的知識。

❸ java怎麼判斷2個時間是同一年

把二個時間的的年月日分別對比,完全相等就是同一天,代碼下:
private static boolean isSameDate(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(date1);

Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2);

boolean isSameYear = cal1.get(Calendar.YEAR) == cal2
.get(Calendar.YEAR);
boolean isSameMonth = isSameYear
&& cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH);
boolean isSameDate = isSameMonth
&& cal1.get(Calendar.DAY_OF_MONTH) == cal2
.get(Calendar.DAY_OF_MONTH);

return isSameDate;
}

❹ java 日期怎麼比較大小

例子:

String beginTime=new String("2017-06-09 10:22:22");
String endTime=new String("2017-05-08 11:22:22");

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);

System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));

Integer i=beginTime.compareTo(endTime);

System.out.println(i);

返回正值是代表左側日期大於參數日期,反之亦然,日期格式必須一致

Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);

long long1 =sd1.getTime()

long long2= sd2.getTime()

(4)java比較年月擴展閱讀:

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好彎伏絕地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用埋姿程序、Web應用程序、分布式系統和嵌入式系統應用程序等。

❺ java中年月日怎樣比較大小

用毫秒比較,雖然是偽毫秒,但是相當精確
String date1 = "2007-10-12 18:35:00";
String date2 = "2008-10-12 18:35:00";
String pattern ="yyyy-MM-dd hh:mm:ss";
SimpleDateFormat sf = new SimpleDateFormat(pattern);
Date d1 = sf.parse(date1);
Date d2 = sf.parse(date2);
if(d1.getTime() > d2.getTime()){
System.out.println("date 1 > date 2");
}else{
System.out.println("date 1 < date 2");
}

閱讀全文

與java比較年月相關的資料

熱點內容
伺服器網卡有什麼好處 瀏覽:92
javasql格式化 瀏覽:613
小愛同學機器人的命令詞 瀏覽:973
檢驗signature的php示例代碼 瀏覽:173
android內錄 瀏覽:778
騰訊雲輕量應用伺服器服務商 瀏覽:178
平板app打不開怎麼回事 瀏覽:319
九號怎麼用app控制前後移動 瀏覽:619
pdf瀏覽器預覽 瀏覽:697
六一兒童節程序員爸爸 瀏覽:168
農村電視天線加密 瀏覽:905
freepdfword 瀏覽:754
程序員怎麼做舔狗 瀏覽:586
怎麼保養汽車空調壓縮機 瀏覽:770
黑客與逆向工程師的python編程之道 瀏覽:878
企業信息化pdf 瀏覽:59
如何給男孩子解壓 瀏覽:747
伺服器雲轉發源ip 瀏覽:31
電腦伺服器地址指的什麼 瀏覽:957
蘋果怎麼下載匯成銀行app 瀏覽:901