亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Java中獲取前一天和后一天時間

系統 2263 0

今天在開發項目的時候遇到一個問題就是怎么獲取當前時間的前一天和后一天,這個實現的邏輯并不復雜,自己要寫的話的也不是難事,但是貌似感覺沒必要自己寫這樣的方法,想想Java中的Calendar類應該有這樣的方法,所以上網查了相關的資料,有兩個方法:分別是set和roll方法,這兩個方法的具體使用方法如下:

    package com.java.demo;

import java.util.Calendar;

public class DateUtil {
	
	public static void main(String[] args){
		//當前時間
		Calendar cl = setCalendar(2014,01,01);
		System.out.print("當前時間:");
		printCalendar(cl);
		//前一天
		cl = setCalendar(2014,01,01);
		getBeforeDay(cl);
		System.out.print("前一天:");
		printCalendar(cl);
		//后一天
		cl = setCalendar(2014,01,01);
		getAfterDay(cl);
		System.out.print("后一天:");
		printCalendar(cl);
	}
	
	/**
	 * 設置時間
	 * @param year
	 * @param month
	 * @param date
	 * @return
	 */
	public static Calendar setCalendar(int year,int month,int date){
		Calendar cl = Calendar.getInstance();
		cl.set(year, month-1, date);
		return cl;
	}
	
	/**
	 * 獲取當前時間的前一天時間
	 * @param cl
	 * @return
	 */
	private static Calendar getBeforeDay(Calendar cl){
		//使用roll方法進行向前回滾
		//cl.roll(Calendar.DATE, -1);
		//使用set方法直接進行設置
		int day = cl.get(Calendar.DATE);
		cl.set(Calendar.DATE, day-1);
		return cl;
	}
	
	/**
	 * 獲取當前時間的后一天時間
	 * @param cl
	 * @return
	 */
	private static Calendar getAfterDay(Calendar cl){
		//使用roll方法進行回滾到后一天的時間
		//cl.roll(Calendar.DATE, 1);
		//使用set方法直接設置時間值
		int day = cl.get(Calendar.DATE);
		cl.set(Calendar.DATE, day+1);
		return cl;
	}
	
	/**
	 * 打印時間
	 * @param cl
	 */
	public static void printCalendar(Calendar cl){
		int year = cl.get(Calendar.YEAR);
		int month = cl.get(Calendar.MONTH)+1;
		int day = cl.get(Calendar.DATE);
		System.out.println(year+"-"+month+"-"+day);
	}
	
}

  
上面的代碼就是說明了set方法和roll方法的使用,傳入一個Calendar,進行設置之后返回一個Calendar,但是roll和set有一個區別:為了測試出這兩個方法的卻別,我們將時間設置成一個邊界值:2014-01-01:看運行效果:

是通過set方法進行設置的時間的效果圖:

Java中獲取前一天和后一天時間

通過效果圖我們可以看到,set方法獲取前一天和后一天的時間是沒有任何問題的。下面再來看一下roll方法獲取前一天和后一天的時間的效果圖:

Java中獲取前一天和后一天時間

我們發現在獲取前一天的時間的時候出現問題了,就是2014-01-01獲取前一天是2014-01-31,由此我們可以看到,roll方法在獲取前一天和后一天的時候并不是級聯改動的,只會修改當前的day,而不會考慮year和month,當然他在修改day的時候是一個循環的修改,如:1月份是:1-31,就是一個循環。

通過上面的分析我們看到了set方法和roll方法的卻別了。

Java中獲取前一天和后一天時間


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美一级爱爱 | 久久亚洲国产最新网站 | 中文字幕2区 | 伊人久久大杳蕉综合大象 | 在线欧美精品国产综合五月 | 天天操夜夜草 | 青草福利 | 日日干天天插 | 精品69久久久久久99 | 最新精品亚洲成a人在线观看 | 特黄特黄aaaa级毛片免费看 | 婷婷综合在线观看丁香 | 久久综合爱 | 欧美一级人与动毛片免费播放 | 久久香蕉精品成人 | 免费毛片网 | 日本亚洲精品一区二区三区 | 4htv影院永久免费在线地址 | 不卡影院网| 免费精品美女久久久久久久久久 | 狼人综合伊人 | 日本叼嘿视频 | 欧美日日夜夜 | 久草青青在线 | 加勒比黑人在线 | 亚洲rv国产rv日本rv | 伊人午夜 | 女性毛片| 亚洲网站在线看 | 日韩综合色| 99视频免费在线 | 日韩毛片在线影视 | 黄色一级网 | 久草视频免费看 | 欧美亚洲网站 | 奇米影视9999 | 日韩美女一级毛片 | 99香蕉国产| 久久精品一区二区三区资源网 | 亚洲国产精品久久综合 | 国产精品国内免费一区二区三区 |