前言:
现时你们对“java获取指定日期内所有的日期和时间”大约比较重视,各位老铁们都需要知道一些“java获取指定日期内所有的日期和时间”的相关内容。那么小编在网摘上汇集了一些关于“java获取指定日期内所有的日期和时间””的相关文章,希望我们能喜欢,看官们一起来了解一下吧!/**
* 获取当前时间距离传入时间的间隔
* 返回时间间隔
* @return返回间隔天数
*/
public static String getStringTadayNumber(String StrDate) {
int num=0;
// String StrDate="2022-09-18";
String StrDateY=StrDate.split("-")[0];//指定年
String StrDateM=StrDate.split("-")[1];//指定月
String StrDateD=StrDate.split("-")[2];//指定日
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(currentTime);
String NowDateY=dateString.split("-")[0];//现在年
String NowDateM=dateString.split("-")[1];//现在月
String NowDateD=dateString.split("-")[2];//现在日
//判断年是否相同
if(NowDateY.equals(StrDateY)) {
//判断月是否相同
if(NowDateM.equals(StrDateM)) {
//判断天是否相同
if(NowDateD.equals(StrDateD)) {
num=0;
}else{
if(Integer.parseInt(NowDateD)>Integer.parseInt(StrDateD)) {
num=Integer.parseInt(NowDateD)-Integer.parseInt(StrDateD);
}else{
num=Integer.parseInt(StrDateD)-Integer.parseInt(NowDateD);
}
}
}else {
int x=Integer.parseInt(NowDateM);
int y=Integer.parseInt(StrDateM);
if(x>y) {
while(y<=x) {
num=num+getIntTadaysNum(StrDateY,y);
y++;
}
num=num-Integer.parseInt(StrDateD)-(getIntTadaysNum(NowDateY,x)-Integer.parseInt(NowDateD));
}else {
while(x<=y) {
num=num+getIntTadaysNum(NowDateY,x);
x++;
}
num=num-Integer.parseInt(NowDateD)-(getIntTadaysNum(StrDateY,y)-Integer.parseInt(StrDateD));
}
}
}else {
int a=Integer.parseInt(NowDateY);
int b=Integer.parseInt(StrDateY);
int x=Integer.parseInt(NowDateM);
int y=Integer.parseInt(StrDateM);
int c=Integer.parseInt(NowDateD);
int d=Integer.parseInt(StrDateD);
if(a>b) {
while(b<=a) {
num=num+getIntYearNum(b);
b++;
}
int m=0,n=1;
while(n<y) {
m=m+getIntTadaysNum(StrDateM,n);
n++;
}
m=m+d;
int p=0,q=1;
while(q<x) {
p=p+getIntTadaysNum(NowDateM,q);
q++;
}
p=p+c;
num=num-m-(getIntYearNum(a)-p);
}else {
while(a<=b) {
num=num+getIntYearNum(a);
a++;
}
int m=0,n=1;
while(n<x) {
m=m+getIntTadaysNum(NowDateM,n);
n++;
}
m=m+d;
int p=0,q=1;
while(q<y) {
p=p+getIntTadaysNum(StrDateM,q);
q++;
}
p=p+c;
num=num-m-(getIntYearNum(a)-p);
}
}
return num+"";
}
public static int getIntTadaysNum(String DateY,int DateM) {
if(DateM==1 || DateM==3 || DateM==5 || DateM==7 || DateM==8 || DateM==10 || DateM==12) {
return 31;
}else if(DateM==4 || DateM==6 || DateM==9 || DateM==11){
return 30;
}else {
int y=Integer.parseInt(DateY);
if(y%4==0 && y%100!=0 || y%400==0) {
return 29;
}else {
return 28;
}
}
}
public static int getIntYearNum(int DateY) {
int y=DateY;
if(y%4==0 && y%100!=0 || y%400==0) {
return 366;
}else {
return 365;
}
}
public static int getIntTadaysNum(String DateY,int DateM) {
if(DateM==1 || DateM==3 || DateM==5 || DateM==7 || DateM==8 || DateM==10 || DateM==12) {
return 31;
}else if(DateM==4 || DateM==6 || DateM==9 || DateM==11){
return 30;
}else {
int y=Integer.parseInt(DateY);
if(y%4==0 && y%100!=0 || y%400==0) {
return 29;
}else {
return 28;
}
}
}
public static int getIntYearNum(int DateY) {
int y=DateY;
if(y%4==0 && y%100!=0 || y%400==0) {
return 366;
}else {
return 365;
}
}
public static int getIntTadaysNum(String DateY,int DateM) {
if(DateM==1 || DateM==3 || DateM==5 || DateM==7 || DateM==8 || DateM==10 || DateM==12) {
return 31;
}else if(DateM==4 || DateM==6 || DateM==9 || DateM==11){
return 30;
}else {
int y=Integer.parseInt(DateY);
if(y%4==0 && y%100!=0 || y%400==0) {
return 29;
}else {
return 28;
}
}
}
public static int getIntYearNum(int DateY) {
int y=DateY;
if(y%4==0 && y%100!=0 || y%400==0) {
return 366;
}else {
return 365;
}
}
程序员作为社会的暗涌推动力,可能一直是一个被人们搬运工来看待,可我觉得在这个科技智能的社会,是由很多的程序员在背后堆积起来,程序员才是社会的主动力,哈哈!
欢迎各位具有求知欲的初学者前来讨论哈
标签: #java获取指定日期内所有的日期和时间