Java解决日历时间转化
此问题为输入2020.5.25格式,输出“这天是n年n月的第n周的第天”
思路:获取输入时间是星期几(week),再获取当月月初是星期几(week2),月初的星期几(1)加上输入的天数(25),除以7向上取整,可获得当天是这月的第几周,第几天即当前是星期几(week)
import java.util.*;
import java.math.*;
public class Main{
public static void main(String args[]){
Calendar rili=Calendar.getInstance();
Calendar rili2=Calendar.getInstance();
int a=2020,b=4,c=19;
rili.set(a,b,c);
rili2.set(a,b,1);
int week=rili.get(Calendar.DAY_OF_WEEK)-1; //星期几
int week2=rili2.get(Calendar.DAY_OF_WEEK)-1; //月初是星期几
double n=Math.ceil((double)(c+week2)/7);//两个整形相除自动向下取整,需把他们换为浮点数,再向上取整即可
System.out.println("今天是"+a+"年"+(b+1)+"月的第"+Math.round(n)+"周的第"+week+"天"); //round()方法可去除小数点
}
}