A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

使用数组的方式实现计算
        输入年月日,计算日期是今年的第几天。
        创建函数判断是否是润年

7 个回复

倒序浏览
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class sd { public static void main(String[] args) {
        int year, month, today, day;
        // 年月日  int manydays = 1;// 今天是今年的第几天,今年的1月1日是今年的第一天  
        // TODO Auto-generated method stub  
        // 1  // 定义时间格式,如:2011-08-25-22-43
        SimpleDateFormat bartDateFormat = new SimpleDateFormat(    "yyyy-MM-dd-HH-mm");  
        Date date = new Date();
        // 取现在时间
        Calendar cal = Calendar.getInstance();  
        cal.setTime(date);
        // 设置时间  
        year = cal.get(Calendar.YEAR);
        // 取年份
        month = cal.get(Calendar.MONTH) + 1;
        // 取月份
        today = cal.get(Calendar.DAY_OF_MONTH);
        // 按照规定格式输出当前时间
        System.out.println(bartDateFormat.format(date));
        // 2011-08-25-22-43
        System.out.println(year + "-" + month + "-" + next(month, year));
        for (int i = 1; i <= month; i++)
        {
                day = next(i, year);
        // 本月一共几天  
        System.out.println(day + "nichi " + i + " kongetsu no goukei");
        // 循环条件,j<=每月的天数,如果在i==month的情况下j>=today也不循环   
        for (int j = 1;
        j <= day && !(i == month && j >= today);
        j++;    manydays++;
        System.out.println("manydays=" + manydays);  
        }  
        System.out.println("houhou1: kyo ha kotoshi no " + manydays    + " nichi medesu");
        /*   * """"""""""""""""""""' ""方法二 """""""""""""""""""""   */
        cal.set(2011, 0, 1);
        // 设置今年的1月1日
        long timeOne = cal.getTimeInMillis();  cal.setTime(date);
        // 将日历翻到1945年八月十五日,7表示八月   
        System.out.println(  long timeTwo = cal.getTimeInMillis();
        long daysapart = (timeTwo - timeOne) / (1000 * 60 * 60 * 24) + 1;
        // 二者时间相隔天数,第几天要加1  
        System.out.println("houhou2: kyo ha kotoshi no " + daysapart    + " nichi medesu");  
        cal.set(1931, 8, 18);
        // 将日历翻到1931年九月十八日,8表示九月  
        timeOne = cal.getTimeInMillis();  
        cal.set(1945, 7, 15);
        // 将日历翻到1945年八月十五日,7表示八月  
        timeTwo = cal.getTimeInMillis();
        daysapart = (timeTwo - timeOne) / (1000 * 60 * 60 * 24);
        // 二者时间相隔天数
        System.out.println("1945年8月15日和1931年9月18日相隔" + daysapart + "天");
        }
        /*  * """""""""""""""""" 让enum类的变量指向下一个元素******************  */
        public static int next(int month, int year)
        {
        int kyo = 0;  switch (month) {
        case 1:   kyo = 31;   break;  
        case 2:   
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)    kyo = 29;
        else    kyo = 28;   break;
        case 3:   kyo = 31;   break;
        case 4:   kyo = 30;   break;
        case 5:   kyo = 31;   break;
        case 6:   kyo = 30;   break;
        case 7:   kyo = 31;   break;
        case 8:   kyo = 31;   break;  
        case 9:   kyo = 30;   break;  
        case 10:   kyo = 31;   break;
        case 11:   kyo = 30;   break;
        case 12:   kyo = 31;
        break;
        }  return kyo;
        }}
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马