`

实现:设定小时,分钟,秒钟,要其从此按这个时间开始运行

阅读更多
             开始时认为很简单,用一个Timer就ok了嘛,过一秒加以秒钟,没想到后来接连遇到了麻烦,因为当从

23:59:59到00:00:00不会跳转,始终无法正确实现,代码如下: 设定时钟h=23,m=21,s=12(即从23:21:12开始运转)
Timer timer=new Timer(1000,new ActionListener(){public void actionPerformed(ActionEvent e){
        s=(s+1)%60;
       if(s==0){
         m=(m+1)%60
       }
      if(m==0){
           if(h==23){
          h=0 ;
        }
      }
}});这样没到类似23:59:59的时刻就会发生时刻错乱,这因该是我考虑不全的缘故。到底如何完善这种算法呢?
  我真在寻找答案。后来在翻看api 文档时,无意中看到了 Calendar类,我又想,能不能借助他来实现这一功能呢?
  可以先获取一个实例,在设定它的小时,分钟,秒钟。但他不能自己按秒走啊,怎么解决呢?有没有run方法让这

个实例从设定的时间开始运行呢?结果没找到这种run方法。后来想了半天,让我终于找到一种可以实现的方法!

思路是这样的,每隔一秒在日历实例的set方法的秒这个元素加一,这样当为60秒是,实例会自动加一分钟,并把秒

钟置为0.具体代码如下:
Calendar ca=Calendar.getInstance();
int h=23,m=21,s=12;
Timer timer=new Timer(1,new ActionListener(){
    public void actionPerformed(ActionEvent event){
    ca.set(2011, 6, 2, 23, 59, s++);
    System.out.println("..."+ca.get(Calendar.HOUR_OF_DAY)+"时"
    +ca.get(Calendar.MINUTE)+"分"+ca.get(Calendar.SECOND)

+"秒");
   
    }
     });
总结:进位问题没有解决,最后不得不借助日历类来实现,不知各位大虾有没有更好的算法?
分享到:
评论

相关推荐

    laydate自定义小时范围和分钟段

    本篇将深入探讨如何利用laydate实现自定义小时范围和分钟段的功能,以及与datetime、JavaScript相关的知识点。 首先,laydate默认情况下会展示完整的日期、小时、分钟和秒数,但在某些场景下,我们可能只需要用户...

    这个是在之前的电子时钟上功能的扩展,主要加入闹钟模块。即到达预定时间响铃一分钟,一分钟后自动停止,也可以按下已设定的键实现手动停止

    这个系统在原有的电子时钟基础上进行了扩展,使得它在指定的预设时间能够触发响铃,响铃持续一分钟,之后自动停止。同时,用户也可以通过按下预先设定的按键来手动停止闹铃。 首先,系统的核心是单片机,它负责处理...

    vue+elementui实现日期时间控件分钟固定步长(完整案例及效果图).zip

    在本文中,我们将深入探讨如何使用Vue.js框架与Element UI库来实现一个具有自定义分钟固定步长的日期时间选择器。Vue.js是一款轻量级的前端JavaScript框架,以其灵活性和可扩展性受到广大开发者的青睐。而Element UI...

    PLC技术应用 九秒钟倒计时控制要求.pdf

    1. 初始化:当开始按钮(SB1)被按下,PLC程序应初始化一个定时器(例如T1)并设定其时间为1秒。同时,数码管显示初始值9。 2. 倒计时循环:定时器T1启动后,每过1秒,定时器的当前值会增加1。然后,我们将这个值与...

    基于MATLAB实现的定时器:设定时间通过响铃和弹窗提示+使用说明文档.zip

    基于MATLAB实现的定时器:设定时间通过响铃和弹窗提示+使用说明文档.zip 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据...

    实现电机运行2小时停2小时启动循环.docx

    我们可以选择一个定时器(例如T1),设定其定时时间为PT=18000*100=1800000ms,即1800秒,也就是30分钟。由于我们需要2小时的运行时间,所以需要这个定时器计数4次。每当定时器到达预设时间,计数器(例如C1)就会...

    松下PLC例程源码这PLC程序设定限时运行,运行一段时间后机器自动停机

    假设需要设计一个简易的自动送料系统,该系统需要每隔30分钟自动运行一次,每次运行时间为5分钟。具体实现过程如下: 1. **选择合适的PLC型号**:根据实际需求选择松下PLC的某一型号,例如FP-X系列。 2. **编写程序...

    使用labview2019设定系统时间

    例如,如果你想要将时间设置为特定的日期和时间,可以创建一个包含年、月、日、小时、分钟和秒的日期/时间结构,并将其转换为毫秒时间戳。 3. **设置系统时间**:最后,你需要调用操作系统API函数来设置新的时间。...

    TIA博途-毫秒ms转换为天+小时+分钟+秒(FB全局库)-V15版本.zip

    在这个特定的压缩包文件中,我们关注的是一个功能块(FB),它专门用于将毫秒时间值转换成更易读的天、小时、分钟和秒的格式。这个FB全局库对于处理实时数据和时间相关的计算非常有帮助,尤其是在自动化系统的监控和...

    VHDL语言实现24小时时钟

    这些按键可以控制小时和分钟的增加或减少,从而实现时间的设定。 6. **数码管闪烁**: 数码管显示通常需要驱动电路来控制各个段的亮灭,实现数字的显示。闪烁效果可能是为了吸引用户的注意力或者指示当前状态,这...

    C++编程:CPU类

    类CPU Method :设定厂商名称 :取得厂商名称 :取得价格 :设定主频 :取得价格实现方法:根据...写一个小程序,动态创建一个10个Computer的数组,设定察看每一台的配置,计算总价格等。 要求正确的释放对象的数组。

    只选择小时、分的时间JS时间控件

    这个插件允许开发者在网页上创建一个能够限制用户仅选择小时和分钟的时间输入框,同时提供了定制间隔和时间范围的能力。 首先,让我们详细了解一下`jquery-timepicker.js`。这是一个基于jQuery的库,扩展了HTML的`...

    操作系统安全:设定任务计划.docx

    这个过程在Linux系统中通常通过cron服务实现,cron是一个守护进程,它按照预设的时间表运行各种任务,包括系统维护、数据备份、日志处理等。 实验一“设定任务计划”主要涵盖两大部分:理解任务计划及其类型,以及...

    带小时分钟的日历控件

    这通常通过下拉菜单或者滑动条的形式呈现,让用户可以精确到小时和分钟来设定时间。 3. **切换模式**:描述中提到的控件允许用户在带有时间和不带时间的模式之间切换。这可能通过设置选项或者按钮来实现,以满足...

    滚轮实现有滑动效果选择时间和地址+小时分钟

    在移动端应用中,用户通常需要快速设定时间,如小时和分钟。滚轮式时间选择器提供了一种直观的界面,用户只需上下滚动对应的时间滚轮来调整小时和分钟。这种设计的优势在于它减少了屏幕空间的占用,同时保持了操作的...

    C 实现 授权 设定授权时间限制 AES算法

    C 实现 授权 设定授权时间限制 AES算法,使用C实现了授权以及加密解密的功能,里面含有多个功能函数接口,理解简单。

    使用verilog实现一个电子钟,能显示小时分秒以及闹钟功能,在vivado中开发,纯verilog编程

    当计数值达到最大值(例如,小时计数器达到23)时,需要进行模运算,使其回零并递增下一个层次的计数器(分钟或秒)。 4. **七段数码管驱动**:为了在显示屏上显示时间,我们需要将十进制的小时、分钟和秒转换为七...

    S7200+TD400C显示系统时间、运行时间的程序详细讲解.doc

    - 本班设备开始运行时间和结束运行时间:分别存储小时、分钟和秒在VW1680至VW1708中。 - 上下班时间设置:小时和分钟分别存储在VW1720和VW1724,以及VW1740和VW1744。 - 复位标志:如本班运行时间复位和累计运行时间...

    ZSE30-ISE30A中文设定说明书

    根据提供的文件内容,这篇文档主要介绍的是SMC压力开关ZSE30-ISE30A中文设定说明书,重点在于如何对SMC压力开关进行各项设置。SMC压力开关广泛应用于各种工业场合,用以监测和控制系统的压力状态。以下是对文档中...

Global site tag (gtag.js) - Google Analytics