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

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

系統 1935 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條評論
主站蜘蛛池模板: 美国成人毛片 | 涩涩一区 | 欧美一级毛片片免费孕妇 | 国产在线看片护士免费视频 | 国内自拍tv在线 | 97在线免费看视频 | 国产香蕉视频在线观看 | 99久久久精品免费观看国产 | 99久久99这里只有免费的精品 | 亚洲国产一区二区a毛片日本 | 奇米影视88888 | 久久精品看片 | 国产成人毛片亚洲精品不卡 | 四月婷婷七月婷婷综合 | 深夜网站在线 | 韩国高清不卡一区二区 | 国内精品不卡一区二区三区 | 国产精品国产色综合色 | 亚洲一区日韩 | 国产精品久久久久久久久福利 | 国产高清一区二区三区 | 午夜亚洲精品久久久久久 | 91成人在线播放 | 在线国产网站 | 内衣办公室动漫久久影院 | 欧美亚洲国产一级毛片 | 精品午夜寂寞黄网站在线 | 蕾丝视频永久在线入口香蕉 | 草久久| 久久综合久久自在自线精品自 | 国产一区二区三区视频在线观看 | 久久综合九色综合网站 | 亚洲 欧美 精品 中文第三 | 在线播放亚洲精品富二代91 | 伊人网综合在线观看 | 欧美极品福利视频在线播放 | 天天搞天天搞 | 69视频在线观看福利视频 | 91最新入口 | 日本欧美三级 | 自拍偷拍三级 |