hellojavab 2022-12-23 15:39 采纳率: 83.3%
浏览 9
已结题

用Calendar定时


 Calendar calendar = Calendar.getInstance();//使用默认时区和语言环境获得一个日历
        // 创建Calendar对象
        Calendar cal = Calendar.getInstance();
        // 设置年
        int year = cal.get(Calendar.YEAR);
        // 设置月
        int month = cal.get(Calendar.MONTH) + 1;
        // 设置日
        int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
        int hour = cal.get(Calendar.HOUR);
        int minute = cal.get(Calendar.MINUTE);
        System.out.print(year + "年" + month + "月" + dayOfMonth + "日" + hour + "点" + minute + "分");
        while (true) {
            if ((year == 2022) && (month == 12) && (dayOfMonth == 23)
                    && (hour == 2) && (minute == 16)) {
                System.out.println("女朋友生日快乐");
                break;
            }

用Calendar定时导致无限循环

  • 写回答

3条回答 默认 最新

  • pzzhao 2022-12-23 16:12
    关注

    你的这个cal定义要放到while里面,不然会一直是同一个值,这边改了一版,加了个sleep,并且改成了24小时制,你可以参考下

            while (true) {
                // 创建Calendar对象
                Calendar cal = Calendar.getInstance();
                // 设置年
                int year = cal.get(Calendar.YEAR);
                // 设置月
                int month = cal.get(Calendar.MONTH) + 1;
                // 设置日
                int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
                int hourOfDay = cal.get(Calendar.HOUR_OF_DAY);
                int minute = cal.get(Calendar.MINUTE);
                System.out.println(year + "年" + month + "月" + dayOfMonth + "日" + hourOfDay + "点" + minute + "分");
    
                if ((year == 2022) && (month == 12) && (dayOfMonth == 23)
                        && (hourOfDay == 16) && (minute == 10)) {
                    System.out.println("女朋友生日快乐");
                    break;
                }
    
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
    
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月31日
  • 已采纳回答 12月23日
  • 创建了问题 12月23日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来