java使用Calendar類獲取常用簡(jiǎn)單工具類

前言:

在工作中,我們經(jīng)常會(huì)用到時(shí)間相關(guān)的肉津。比如月初强胰、月末、年初妹沙、年末偶洋、指定月份所在季度的季末、當(dāng)前時(shí)間加X天距糖、x月玄窝、x年等這些常用的雖說不難,但是如果要用到悍引,立馬又想不起來恩脂。這里凱哥歸納了一些常用的放在一個(gè)工具類中。有需要的朋友可以拿去或是收藏趣斤。如果大家有更好的俩块,歡迎留言。如果凱哥哪里不對(duì),歡迎大家留言罵起~玉凯。

聲明:本文有凱哥Java(www.kaigejava.com)發(fā)布于凱哥個(gè)人博客势腮。

正文:

1:獲取指定日期 指定月份后的最后一天。返回格式:yyyyMMdd

獲取指定日期 指定月份后的最后一天

public static String getMaxMonthDate(String dateStr,String dftStr,int monthnum) {

if(StringUtils.isEmpty(dftStr)){

dftStr="yyyyMMdd";

}

SimpleDateFormat dft = new SimpleDateFormat(dftStr);

Calendar calendar = Calendar.getInstance();

try {

if(dateStr!=null && !"".equals(dateStr)){

calendar.setTime(dft.parse(dateStr));

}

} catch (ParseException e) {

e.printStackTrace();

}

calendar.add(Calendar.MONTH, monthnum);

calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

return dft.format(calendar.getTime());

}

2:指定月份獲取對(duì)應(yīng)月所在季度末漫仆。返回yyyyMMdd

2:指定月份獲取對(duì)應(yīng)月所在季度末嫉鲸。返回yyyyMMdd

public String getThisSeasonEnd(String repeatDate,String dftStr) {

int xyear; // 日期屬性:年

int ymonth; // 日期屬性:月

SimpleDateFormat dft = new SimpleDateFormat(dftStr);

Calendar localTime = Calendar.getInstance();//獲取當(dāng)前

String dateString = "";

try {

if(repeatDate!=null && !"".equals(repeatDate)){

localTime.setTime(dft.parse(repeatDate));//設(shè)置時(shí)間

}

xyear = localTime.get(Calendar.YEAR);

ymonth = localTime.get(Calendar.MONTH) + 1;

if (ymonth >= 1 && ymonth <= 3) {

dateString = xyear + "-" + "03" + "-" + "31";

}

if (ymonth >= 4 && ymonth <= 6) {

dateString = xyear + "-" + "06" + "-" + "30";

}

if (ymonth >= 7 &&ymonth <= 9) {

dateString = xyear + "-" + "09" + "-" + "30";

}

if (ymonth >= 10 && ymonth <= 12) {

dateString = xyear + "-" + "12" + "-" + "31";

}

} catch (ParseException e) {

e.printStackTrace();

}

return dateString.replace("-", "");

}

3:?獲取指定日期所在年份最后一天。返回格式y(tǒng)yyyMMdd

3:?獲取指定日期所在年份最后一天歹啼。返回格式y(tǒng)yyyMMdd

public String getYearEnd(String repeatDate ,String dftStr){

if(StringUtils.isEmpty(dftStr)){

dftStr="yyyyMMdd";

}

SimpleDateFormat dft = new SimpleDateFormat(dftStr);

Calendar localTime = Calendar.getInstance();//獲取當(dāng)前

try {

if(repeatDate!=null && !"".equals(repeatDate)){

localTime.setTime(dft.parse(repeatDate));

repeatDate=localTime.get(Calendar.YEAR)+"1231";

}

} catch (ParseException e) {

e.printStackTrace();

}

return repeatDate;

}

這里凱哥偷懶了玄渗。獲取月份后直接加上1231.其實(shí)可以直接使用類獲取的。

4:指定日期開始指定時(shí)間結(jié)束狸眼。返回格式y(tǒng)yyyMMdd

4:指定日期開始指定時(shí)間結(jié)束藤树。返回格式y(tǒng)yyyMMdd

public String getXLeter(String dateStr ,String dftStr,String type,int x){

if(StringUtils.isEmpty(dftStr)){

dftStr="yyyyMMdd";

}

SimpleDateFormat dft = new SimpleDateFormat(dftStr);

Calendar calendar = Calendar.getInstance();

try {

if(dateStr!=null && !"".equals(dateStr)){

calendar.setTime(dft.parse(dateStr));

}

} catch (ParseException e) {

e.printStackTrace();

}

if("01".equals(type)){//一個(gè)月后

//calendar.add(Calendar.DATE, x);

calendar.add(Calendar.MONTH, x);

}else if("02".equals(type)){//三個(gè)月后

calendar.add(Calendar.MONTH, x);

}else if("03".equals(type)){//一年后

calendar.add(Calendar.YEAR, x);

}

return dft.format(calendar.getTime());

}

5:獲取到月初、年初拓萌。返回格式y(tǒng)yyyMMdd

5:獲取到月初岁钓、年初。返回格式y(tǒng)yyyMMdd

public static String getMinMonthDate(String dateStr,String dftStr,int monthnum,String type) {

if(StringUtils.isEmpty(dftStr)){

dftStr="yyyyMMdd";

}

SimpleDateFormat dft = new SimpleDateFormat(dftStr);

Calendar calendar = Calendar.getInstance();

try {

if(dateStr!=null && !"".equals(dateStr)){

calendar.setTime(dft.parse(dateStr));

}

} catch (ParseException e) {

e.printStackTrace();

}

calendar.add(Calendar.MONTH, monthnum);

if("m".equals(type)){//月份

calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));

}else if("y".equals(type)){//

calendar.set(Calendar.DAY_OF_YEAR, calendar.getActualMinimum(Calendar.DAY_OF_YEAR));

}

return dft.format(calendar.getTime());

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末微王,一起剝皮案震驚了整個(gè)濱河市屡限,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌炕倘,老刑警劉巖钧大,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異罩旋,居然都是意外死亡啊央,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門涨醋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓜饥,“玉大人,你說我怎么就攤上這事浴骂∨彝粒” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵溯警,是天一觀的道長趣苏。 經(jīng)常有香客問我,道長愧膀,這世上最難降的妖魔是什么拦键? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮檩淋,結(jié)果婚禮上芬为,老公的妹妹穿的比我還像新娘萄金。我一直安慰自己,他們只是感情好媚朦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布氧敢。 她就那樣靜靜地躺著,像睡著了一般询张。 火紅的嫁衣襯著肌膚如雪孙乖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天份氧,我揣著相機(jī)與錄音唯袄,去河邊找鬼。 笑死蜗帜,一個(gè)胖子當(dāng)著我的面吹牛恋拷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播厅缺,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蔬顾,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼岔绸!你這毒婦竟也來了颗味?” 一聲冷哼從身側(cè)響起县昂,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤荣瑟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后屿脐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叁扫,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡啊易,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年秩伞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逞带。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纱新,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出穆趴,到底是詐尸還是另有隱情脸爱,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布未妹,位于F島的核電站簿废,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏络它。R本人自食惡果不足惜族檬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望化戳。 院中可真熱鬧单料,春花似錦埋凯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至换怖,卻和暖如春甩恼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沉颂。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工条摸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铸屉。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓屈溉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親抬探。 傳聞我的和親對(duì)象是個(gè)殘疾皇子子巾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容