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

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

系統(tǒng) 2201 0

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

    package com.java.demo;

import java.util.Calendar;

public class DateUtil {
	
	public static void main(String[] args){
		//當(dāng)前時間
		Calendar cl = setCalendar(2014,01,01);
		System.out.print("當(dāng)前時間:");
		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);
	}
	
	/**
	 * 設(shè)置時間
	 * @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;
	}
	
	/**
	 * 獲取當(dāng)前時間的前一天時間
	 * @param cl
	 * @return
	 */
	private static Calendar getBeforeDay(Calendar cl){
		//使用roll方法進(jìn)行向前回滾
		//cl.roll(Calendar.DATE, -1);
		//使用set方法直接進(jìn)行設(shè)置
		int day = cl.get(Calendar.DATE);
		cl.set(Calendar.DATE, day-1);
		return cl;
	}
	
	/**
	 * 獲取當(dāng)前時間的后一天時間
	 * @param cl
	 * @return
	 */
	private static Calendar getAfterDay(Calendar cl){
		//使用roll方法進(jìn)行回滾到后一天的時間
		//cl.roll(Calendar.DATE, 1);
		//使用set方法直接設(shè)置時間值
		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,進(jìn)行設(shè)置之后返回一個Calendar,但是roll和set有一個區(qū)別:為了測試出這兩個方法的卻別,我們將時間設(shè)置成一個邊界值:2014-01-01:看運(yùn)行效果:

是通過set方法進(jìn)行設(shè)置的時間的效果圖:

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

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

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

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

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

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久天堂夜夜一本婷婷麻豆 | 亚洲国产系列久久精品99人人 | 国产人成午夜免视频网站 | 亚洲国产精品久久久天堂麻豆 | 免费一级毛片在线播放不收费 | 免费h片网站| 中文字幕亚洲无线码在线一区 | 国产aaa免费视频国产 | 99伊人| 欧美高清国产 | 中文字幕在线免费看 | 一区欧美 | 性大特级毛片视频 | 九九热精品视频在线 | a级高清观看视频在线看 | 精品视频在线免费观看 | 香蕉超级碰碰碰97视频蜜芽 | 福利视频在线 | 久久不色 | 久久艹伊人| 亚洲精品成人一区二区aⅴ 亚洲精品成人一区二区www | 99精品在线免费观看 | 特黄大片aaaaa毛片 | 久久99精品久久久久久秒播放器 | 亚洲精品欧美一区二区三区 | 奇米影视国产 | 奇米色奇米 | 国产呦系列免费 | 亚洲欧美日韩久久精品第一区 | 久久国产综合精品欧美 | 国产综合色在线视频播放线视 | 免费观看毛片 | 天天干天天曰天天操 | www欧美视频| 欧美日韩亚洲m码色帝国 | 久久这里只有精品9 | 亚洲线精品一区二区三区 | 亚洲一区国产 | 水浒传删减剧情在线观看 | 五月婷婷国产 | 欧美一级黄色片在线观看 |