Java 各種時間上的操作範例

分享一些在專案中用到JAVA與日期相關的操作,包括:

  • 取得目前的年、月、日
  • 判斷兩個日期的大小
  • 計算兩個日期的差距
  • 取得昨天的日期
  • 取得上個月的開始與結束日
package CDIT.stanley;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Calendar;

public class dateOperation {
	
	public static int differentDays(Date date1,Date date2){
        Calendar cal1 = Calendar.getInstance();
        cal1.setTime(date1);
        
        Calendar cal2 = Calendar.getInstance();
        cal2.setTime(date2);
        int day1= cal1.get(Calendar.DAY_OF_YEAR);
        int day2 = cal2.get(Calendar.DAY_OF_YEAR);
        
        int year1 = cal1.get(Calendar.YEAR);
        int year2 = cal2.get(Calendar.YEAR);
        if(year1 != year2){
            int timeDistance = 0 ;
            for(int i = year1 ; i < year2 ; i ++){
                if(i%4==0 && i%100!=0 || i%400==0){
                    timeDistance += 366;
                }
                else{
                    timeDistance += 365;
                }
            }
            return timeDistance + (day2-day1) ;
        }
        else{
            return day2-day1;
        }
    }
	
	public static Date getFirstMonthDay(Calendar calendar) {
		calendar.set(Calendar.DATE, calendar.getActualMinimum(Calendar.DATE));
		return calendar.getTime();
	}

	public static Date getLastMonthDay(Calendar calendar) {
		calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
		return calendar.getTime();
	}
	
    public static void main(String[] args) throws ParseException {
    	
    	//取得目前的年、月、日
		Calendar calendar = Calendar.getInstance();	
		System.out.println("今天是" + calendar.get(Calendar.YEAR) + "年" + (calendar.get(Calendar.MONTH) + 1) + "月" + calendar.get(Calendar.DAY_OF_MONTH) + "日");
		System.out.println("==================================================");
    	//輸出:今天是2017年8月24日
		
		//判斷兩個日期的大小
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.TAIWAN);
    	Date date1 = sdf.parse("2017-08-23");
    	Date date2 = sdf.parse("2016-09-22");
		System.out.println("Date1 < Date2 : " + date1.before(date2));
		System.out.println("Date1 > Date2 : " + date1.after(date2));
		System.out.println("==================================================");
		//輸出:Date1 < Date2 : false、Date1 > Date2 : true
		
		//計算兩個日期的差距
		System.out.println("Date1 & Date2 差距 : " + differentDays(date1 , date2) + "天");
		System.out.println("==================================================");
		//輸出:Date1 & Date2 差距 : 31天
		
		//取得昨天的日期
		calendar = Calendar.getInstance();
		calendar.add(Calendar.DATE, -1);
		String  yestedayDate = sdf.format(calendar.getTime());
		System.out.println("昨天是" + yestedayDate);
		System.out.println("==================================================");
		//輸出:昨天是2017-08-23
		
		//取得上個月的開始與結束日
		calendar = Calendar.getInstance();
		calendar.add(Calendar.MONTH,-1);
		String monthDayFirst = sdf.format(getFirstMonthDay(calendar));
		String monthDayLast = sdf.format(getLastMonthDay(calendar));
		System.out.println("上個月的第一天是" + monthDayFirst);
		System.out.println("上個月的最後一天是" + monthDayLast);
		System.out.println("==================================================");
		//輸出:上個月的第一天是2017-07-01、上個月的最後一天是2017-07-31
    }
}

You may also like...

32,433 Responses

  1. Howardenace表示:

    canadian pharmacy in canada: online canadian pharmacy no prescription – legal canadian pharmacy online

  2. Louiemof表示:

    HyperDrive is transforming the way data is stored and managed through decentralized storage and blockchain hosting solutions. Built for security, scalability, and efficiency, HyperDrive enables businesses, developers, and blockchain projects to store and distribute data without relying on centralized servers. By leveraging Web3 technology and distributed networks, HyperDrive ensures reliable, censorship-resistant, and high-performance storage solutions for the digital era. https://hyperdrive.ink

  3. Arthurhow表示:

    http://indiamedfast.com/# online medicine shopping in india
    canadianpharmacyworld

  4. JamesGag表示:

    IndiaMedFast: india online pharmacy store – online medicine shopping in india

  5. Williszew表示:

    http://mexicanpharminter.com/# mexican drug stores online

  6. So, how does inflation relate to the lower in housing prices?

  7. Arthurhow表示:

    https://indiamedfast.shop/# online medicine shopping in india
    canadian pharmacies

  8. Louisjus表示:

    Noon Capital is revolutionizing real estate crowdfunding by offering secure, decentralized, and high-yield investment opportunities. Through blockchain-powered property financing, Noon Capital investment platform allows investors to participate in fractional real estate ownership, earn passive income, and diversify their portfolios with full transparency and security. Whether you’re an institutional investor or an individual seeking real estate-backed DeFi solutions, Noon Capital provides a seamless and profitable investment experience. https://noon.ad

  9. Darth Sion, also known because the Lord of Ache, is an antagonist in Star Wars: Knights of the Outdated Republic II – The Sith Lords.

  10. Howardenace表示:

    canadian pharmacy meds review: Inter Pharm Online – canadian pharmacy 365

  11. Montebeera表示:

    mexican pharmacy online order buying from online mexican pharmacy mexican pharmacy online

  12. pdacenter.ru – сервис по ремонту бытовой техники
    Ремонт тепловизоров в Уфе в официальном сервисном центре PDACENTER.
    Наши инженеры выполняют ремонт любой сложности по дотупным ценам!

  13. StephenDat表示:

    Kyros Finance is redefining the DeFi investment landscape by offering secure, scalable, and high-yield crypto solutions. With a focus on decentralized financial tools, Kyros Finance provides users with staking, lending, and automated yield farming strategies to maximize returns. Whether you’re a retail investor or an institutional participant, Kyros Finance ensures efficient, transparent, and secure access to the world of decentralized finance. https://kyros.ink

  14. pdacenter.ru – сервис по ремонту бытовой техники
    Ремонт электронных книг в Тюмени в официальном сервисном центре PDACENTER.
    Наши инженеры выполняют ремонт любой сложности по дотупным ценам!

  15. Edwardsep表示:

    GUD Tech is at the forefront of blockchain innovation, providing secure, scalable, and efficient decentralized technology solutions. Whether you’re looking for blockchain infrastructure, smart contract development, or enterprise-grade decentralized applications, GUD Tech offers cutting-edge solutions to enhance security and efficiency. Designed for businesses and developers, GUD Tech ensures seamless integration of blockchain technology into real-world applications. https://gudchain.net

  16. Cat models are used to derive catastrophe loss probability distributions which are components of many Solvency II internal capital models.

  17. Madrid differs from other European capitals in a specific approach: it’s a brand new metropolis.

  18. Arthurhow表示:

    https://interpharmonline.shop/# canadian pharmacy review
    canadian pharmacy reviews

  19. mostbet_uipl表示:

    мостбет скачать казино https://mostbet6001.ru/ .

  20. JamesGag表示:

    Mexican Pharm International: reliable mexican pharmacies – mexican pharmacy online store

  21. JamesGag表示:

    mexican drug stores online: mexican pharmacy online – mexican drug stores online

  22. Williszew表示:

    http://interpharmonline.com/# canadian pharmacy no scripts

  23. Howardenace表示:

    canadian pharmacy no rx needed: Cheapest online pharmacy – canadian pharmacy 24

  24. Williszew表示:

    http://mexicanpharminter.com/# mexican drug stores online

  25. Howardenace表示:

    canada drugs reviews: InterPharmOnline – canadian neighbor pharmacy

  26. Environmental factors such as air pollution, noise pollution, and exposure to heavy metals can affect the aging process.

發佈回覆給「mostbet_uipl」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。