JAVA 计算当前距最近的五月一号还有多少天. 请写完整的程序,谢谢>3<

如题所述

import java.util.Calendar;

public class Demo3 {

    public static void main(String[] args) {

        // 获得当前日期
        Calendar today = Calendar.getInstance();
        long time1 = today.getTimeInMillis();
        int year = today.get(Calendar.YEAR);
        int month =today.get(Calendar.MONTH)+1;
        int day = today.get(Calendar.DAY_OF_MONTH);
//        System.out.println(today.get(Calendar.MONTH)+1);
        // 判断当前月
        if(month<5){
            //取得今年5月1号
            Calendar theday = Calendar.getInstance();
            theday.set(year,4,1);
            long time2 = theday.getTimeInMillis();
            
            //求天数
            long days=(time2-time1)/(1000*60*60*24); 
            
            System.out.println("距离最近的5月1号还有:"+days+"天。");
        }else if(month>=5){
            if(month==5&&day==1){
                System.out.println("今天就是5月1号!");
            }
            
            //取得明年5月1号
            Calendar theday = Calendar.getInstance();
            theday.set(year+1,4,1);
            long time2 = theday.getTimeInMillis();
            
            //求天数
            long days=(time2-time1)/(1000*60*60*24); 
            
            System.out.println("距离最近的5月1号还有:"+days+"天。");
        }
        //

    }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-26
    public static void main(String[] args) {
        //初始化日期
        Calendar calendar = Calendar.getInstance();
        //时分秒 设置为00:00:00
        calendar.set(Calendar.HOUR, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        //获取今天00:00:00时的毫秒数
        long nowTime = calendar.getTimeInMillis();
        //日期调整今年到5月1日
        calendar.set(Calendar.MONTH, 4);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        //获取到今年5月1日 0点0分0秒的毫秒数
        long time = calendar.getTimeInMillis();
        if (nowTime > time) {
            System.out.println("今年5.1已经过了");
            //年份+1 到下一个5月1日
            calendar.add(Calendar.YEAR, 1);
            time = calendar.getTimeInMillis();
        }
        long t = time - nowTime;
        long day = t / 24 / 60 / 60 / 1000;
        System.out.println("距离最近的5.1还有: " + day + " 天");
    }

本回答被网友采纳
第2个回答  2015-06-26
可以获取当前日期,判断一下当前月份和日, 然后判断取今年的5月1号还是明年的5月1号,然后生成另一个Date 然后进行运算就行
相似回答