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...

16,037 Responses

  1. Santopax表示:

    http://pinupkz.tech/# pin up казино

  2. Тут делают продвижение разработка сайтов для медицинских центров создание сайта для клиники

  3. Robertdef表示:

    pin up giris pin up casino giris pin up giris

  4. Тут делают продвижение seo медицинских сайтов seo медицина

  5. Gabrielwaimb表示:

    пинап казино https://pinupturkey.pro/# pin up aviator
    пин ап кз

  6. Тут делают продвижение seo медицина seo медицина

  7. LeroyAcuff表示:

    Профессиональный сервисный центр сервисный центр по ремонту телефонов где ремонтируют телефоны

  8. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем: ремонт бытовой техники в волгограде
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  9. DonaldRer表示:

    пинап казино: пин ап 634 – pin up kz

  10. Robertdef表示:

    pin-up kazino pin-up casino giris pin up azerbaijan

  11. Тут делают продвижение продвижение сайта медицинского центра разработка сайта клиники

  12. Тут делают продвижение продвижение клиники сео медицина

  13. Gabrielwaimb表示:

    pin up kz http://pinupturkey.pro/# pin up
    пин ап казино

  14. ForrestVal表示:

    пинап казино: пин ап казино – пин ап

  15. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем: сервисные центры в волгограде
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  16. DonaldRer表示:

    pin-up oyunu: pin-up kazino – pinup az

  17. BrianThern表示:

    Hong Kong plans to install thousands of surveillance cameras. Critics say it’s more proof the city is moving closer to China
    защита по уголовным делам

    Glance up while strolling through parts of downtown Hong Kong and, chances are, you’ll notice the glassy black lens of a surveillance camera trained on the city’s crowded streets.

    And that sight will become more common in the coming years, as the city’s police pursue an ambitious campaign to install thousands of cameras to elevate their surveillance capabilities.

    Though it consistently ranks among the world’s safest big cities, police in the Asian financial hub say the new cameras are needed to fight crime – and have raised the possibility of equipping them with powerful facial recognition and artificial intelligence tools.

    That’s sparked alarm among some experts who see it as taking Hong Kong one step closer to the pervasive surveillance systems of mainland China, warning of the technology’s repressive potential.

    Hong Kong police had previously set a target of installing 2,000 new surveillance cameras this year, and potentially more than that each subsequent year. The force plans to eventually introduce facial recognition to these cameras, security chief Chris Tang told local media in July – adding that police could use AI in the future to track down suspects.
    In a statement to CNN, the Hong Kong Police Force said it was studying how police in other countries use surveillance cameras, including how they use AI. But it’s not clear how many of the new cameras may have facial recognition capabilities, or whether there’s a timeline for when the tech will be introduced.

    Tang and the Hong Kong police have repeatedly pointed to other jurisdictions, including Western democracies, that also make wide use of surveillance cameras for law enforcement. For instance, Singapore has 90,000 cameras and the United Kingdom has more than seven million, Tang told local newspaper Sing Tao Daily in June.

    While some of those places, like the UK, have started using facial recognition cameras, experts say these early experiments have highlighted the need for careful regulation and privacy protections. Hong Kong police told CNN they would “comply with relevant laws” and follow strong internal guidelines – but haven’t elaborated in depth on what that would look like.

  18. В магазине сейфов предлагают взломостойкие сейфы 2 класса сейф 2 класса взломостойкости

  19. Robertdef表示:

    pin-up bonanza pin up bet pin up casino giris

  20. Gabrielwaimb表示:

    pin up kz http://pinupru.site/# пин ап зеркало
    пинап казино

  21. Профессиональный сервисный центр по ремонту планшетов в Москве.
    Мы предлагаем: сервис по ремонту планшетов
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  22. В магазине сейфов предлагают купить сейф 2 класс в москве сейф 2 класса взломостойкости

  23. Waxxlz表示:

    buy betnovate paypal – generic monobenzone generic benoquin

  24. DonaldRer表示:

    pin up 306: pin up azerbaijan – pinup azerbaycan

  25. ForrestVal表示:

    пин ап казахстан: пин ап 634 – пин ап 634

  26. LeroyAcuff表示:

    Профессиональный сервисный центр ремонт телефонов цены сервисы по ремонту телефонов

  27. Santopax表示:

    http://pinupkz.tech/# pin up казино

  28. Pattinson, Tom (August 8, 2021).

發佈留言

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