计算某一天,在某一年中是第几天
获取当前日期
Date date = new Date();
//这里需要导入的包是java.util下的date类
Java
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
public class TestDate {
private static void test(){
Date date = new Date();
System.out.println(date);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String format = simpleDateFormat.format(date);
System.out.println(format);
String[] split = format.split("-");
System.out.println(Arrays.toString(split));
int year = Integer.parseInt(split[0]);
int month = Integer.parseInt(split[1]);
int day = Integer.parseInt(split[2]);
System.out.println(year);
System.out.println(month);
System.out.println(day);
System.out.println("---------");
t1(year,month,day);
t1(2023,1,1);
}
private static String t1(int year,int months, int days) {
int[] month = {28,30,31};
int[] threeOne = {1,3,5,7,8,10,12};
int[] threeZone = {4,6,9,11};
int twoEight = 2;
List<String> list = new ArrayList<>();
for (int i = 0; i < 12; i++) {
boolean flag = true;
if ((i+1) == 2){
int day = te1(year);
if (day == 0) {
list.add(i, twoEight + "-" + month[0]);
}else {
list.add(i,twoEight+"-"+(month[0]+day));
}
}else {
for (int j = 0; j < threeOne.length; j++) {
if (i+1 == threeOne[j]){
list.add(i,(i+1)+"-"+month[2]);
flag = false;
break;
}
}
if (flag){
for (int j = 0; j < threeZone.length; j++) {
if (i+1 == threeZone[j]){
list.add(i,(i+1)+"-"+month[1]);
}
}
}
}
}
int total = 0;
int num = 0;
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
String[] split = s.split("-");
total+=Integer.parseInt(split[1]);
if (Integer.parseInt(split[0]) < months){
num+=Integer.parseInt(split[1]);
}
}
num+=days;
System.out.println("今天是"+year+"年的第"+num+"天");
System.out.println("距离"+year+"年结束仅剩"+(total-num)+"天");
System.out.println(total);
return "";
}
private static int te1(int year){
boolean flag = false;
if (year%4 == 0 && year%100 != 0){
System.out.println(year+":是普通闰年");
flag = true;
}else if (year%400 == 0){
System.out.println(year+":是世纪闰年");
flag = true;
}else {
System.out.println(year+"是普通年");
}
if (flag){
return 1;
}
return 0;
}
public static void main(String[] args) {
test();
}
}
仅供学习,参考使用,可一起交流,前进!前进!前进!