使用java的Calendar對(duì)象獲得當(dāng)前日期
更新時(shí)間:2015年07月02日 08:39:03 投稿:hebedich
本文給大家分享的是使用使用java的Calendar對(duì)象獲得當(dāng)前日期的上幾個(gè)度開(kāi)始、結(jié)束時(shí)間,主要思路是先獲得當(dāng)前季度的開(kāi)始和結(jié)束日期,在當(dāng)前日期的基礎(chǔ)上往前推3個(gè)月即上個(gè)季度的開(kāi)始和結(jié)束日期,十分的實(shí)用,小伙伴們可以參考下。
思路:
先獲得當(dāng)前季度的開(kāi)始和結(jié)束日期,在當(dāng)前日期的基礎(chǔ)上往前推3個(gè)月即上個(gè)季度的開(kāi)始和結(jié)束日期
/**
* @param flag true:開(kāi)始日期;false:結(jié)束日期
* @return
*/
public static String getLastQuarterTime(boolean flag){
SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String resultDate="";
Date now = null;
try {
Calendar calendar = Calendar.getInstance();
int currentMonth = calendar.get(Calendar.MONTH) + 1;
//true:開(kāi)始日期;false:結(jié)束日期
if(flag){
if (currentMonth >= 1 && currentMonth <= 3)
calendar.set(Calendar.MONTH, 0);
else if (currentMonth >= 4 && currentMonth <= 6)
calendar.set(Calendar.MONTH, 3);
else if (currentMonth >= 7 && currentMonth <= 9)
calendar.set(Calendar.MONTH, 6);
else if (currentMonth >= 10 && currentMonth <= 12)
calendar.set(Calendar.MONTH, 9);
calendar.set(Calendar.DATE, 1);
now = longSdf.parse(shortSdf.format(calendar.getTime()) + " 00:00:00");
}else{
if (currentMonth >= 1 && currentMonth <= 3) {
calendar.set(Calendar.MONTH, 2);
calendar.set(Calendar.DATE, 31);
} else if (currentMonth >= 4 && currentMonth <= 6) {
calendar.set(Calendar.MONTH, 5);
calendar.set(Calendar.DATE, 30);
} else if (currentMonth >= 7 && currentMonth <= 9) {
calendar.set(Calendar.MONTH, 8);
calendar.set(Calendar.DATE, 30);
} else if (currentMonth >= 10 && currentMonth <= 12) {
calendar.set(Calendar.MONTH, 11);
calendar.set(Calendar.DATE, 31);
}
now = longSdf.parse(shortSdf.format(calendar.getTime()) + " 23:59:59");
}
calendar.setTime(now);// 設(shè)置日期
calendar.add(Calendar.MONTH, -3);
resultDate = longSdf.format(calendar.getTime());
} catch (Exception e) {
;
}
return resultDate;
}
您可能感興趣的文章:
- Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用
- Java中的日期和時(shí)間類(lèi)以及Calendar類(lèi)用法詳解
- Java中Calendar時(shí)間操作常用方法詳解
- Java中Date類(lèi)和Calendar類(lèi)的常用實(shí)例小結(jié)
- Java中的Calendar日歷API用法完全解析
- 學(xué)習(xí)Java的Date、Calendar日期操作
- Java中Date和Calendar常用方法
- Java Calendar類(lèi)的時(shí)間操作
- 利用Java中Calendar計(jì)算兩個(gè)日期之間的天數(shù)和周數(shù)
相關(guān)文章
Spring?Boot?優(yōu)雅整合多數(shù)據(jù)源
這篇文章主要介紹了Spring?Boot?優(yōu)雅整合多數(shù)據(jù)源,多數(shù)據(jù)源就是在一個(gè)單一應(yīng)用中涉及到了兩個(gè)及以上的數(shù)據(jù)庫(kù),更多相關(guān)內(nèi)容需要的小伙伴可以參考下面文章介紹2022-05-05
IDEA?設(shè)置?SpringBoot?logback?彩色日志的解決方法?附配置文件
這篇文章主要介紹了IDEA?設(shè)置?SpringBoot?logback?彩色日志(附配置文件)的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12
Java8時(shí)間api之LocalDate/LocalDateTime的用法詳解
在項(xiàng)目中,時(shí)間的使用必不可少,而java8之前的時(shí)間api?Date和Calander等在使用上存在著很多問(wèn)題,于是,jdk1.8引進(jìn)了新的時(shí)間api-LocalDateTime,本文就來(lái)講講它的具體使用吧2023-05-05
SpringBoot詳解實(shí)現(xiàn)自定義異常處理頁(yè)面方法
SpringBoot是Spring全家桶的成員之一,是一種整合Spring技術(shù)棧的方式(或者說(shuō)是框架),同時(shí)也是簡(jiǎn)化Spring的一種快速開(kāi)發(fā)的腳手架2022-06-06
華為技術(shù)專(zhuān)家講解JVM內(nèi)存模型(收藏)
這篇文章主要介紹了華為技術(shù)專(zhuān)家講解JVM內(nèi)存模型(收藏)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的收藏借鑒價(jià)值,需要的朋友可以參考下2021-05-05
java 中Executor, ExecutorService 和 Executors 間的不同
這篇文章主要介紹了java 中Executor, ExecutorService 和 Executors 間的不同的相關(guān)資料,需要的朋友可以參考下2017-06-06

