开始时认为很简单,用一个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)
+"秒");
}
});
总结:进位问题没有解决,最后不得不借助日历类来实现,不知各位大虾有没有更好的算法?
分享到:
相关推荐
实现一个计算机的Class的层次结构 类CPU Method :设定厂商名称 :取得厂商名称 :取得价格 :设定主频 :取得价格实现方法:根据主频的范围和厂商确定(自己自由发挥) 类Memory Method :设定厂商...
这个系统在原有的电子时钟基础上进行了扩展,使得它在指定的预设时间能够触发响铃,响铃持续一分钟,之后自动停止。同时,用户也可以通过按下预先设定的按键来手动停止闹铃。 首先,系统的核心是单片机,它负责处理...
首先,要实现"laydate自定义小时范围和分钟段",我们需要了解laydate的基本用法。通常,我们通过调用laydate实例并传递配置对象来初始化日期选择器。配置对象可以包含多个参数,用于设置日期格式、显示模式、禁用...
基于MATLAB实现的定时器:设定时间通过响铃和弹窗提示+使用说明文档.zip 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据...
3. **时间参数设置**:三菱PLC的定时器设定值通常以秒为单位,但也可以根据需要设置为毫秒、分钟或小时。在程序中,我们需要定义一个变量来存储定时器的当前值,然后根据按钮操作更新这个变量。同时,我们需要设置...
假设需要设计一个简易的自动送料系统,该系统需要每隔30分钟自动运行一次,每次运行时间为5分钟。具体实现过程如下: 1. **选择合适的PLC型号**:根据实际需求选择松下PLC的某一型号,例如FP-X系列。 2. **编写程序...
例如,如果你想要将时间设置为特定的日期和时间,可以创建一个包含年、月、日、小时、分钟和秒的日期/时间结构,并将其转换为毫秒时间戳。 3. **设置系统时间**:最后,你需要调用操作系统API函数来设置新的时间。...
这些按键可以控制小时和分钟的增加或减少,从而实现时间的设定。 6. **数码管闪烁**: 数码管显示通常需要驱动电路来控制各个段的亮灭,实现数字的显示。闪烁效果可能是为了吸引用户的注意力或者指示当前状态,这...
类CPU Method :设定厂商名称 :取得厂商名称 :取得价格 :设定主频 :取得价格实现方法:根据...写一个小程序,动态创建一个10个Computer的数组,设定察看每一台的配置,计算总价格等。 要求正确的释放对象的数组。
这个过程在Linux系统中通常通过cron服务实现,cron是一个守护进程,它按照预设的时间表运行各种任务,包括系统维护、数据备份、日志处理等。 实验一“设定任务计划”主要涵盖两大部分:理解任务计划及其类型,以及...
这通常通过下拉菜单或者滑动条的形式呈现,让用户可以精确到小时和分钟来设定时间。 3. **切换模式**:描述中提到的控件允许用户在带有时间和不带时间的模式之间切换。这可能通过设置选项或者按钮来实现,以满足...
在这个特定的压缩包文件中,我们关注的是一个功能块(FB),它专门用于将毫秒时间值转换成更易读的天、小时、分钟和秒的格式。这个FB全局库对于处理实时数据和时间相关的计算非常有帮助,尤其是在自动化系统的监控和...
微控制器则能提供更高级的计时功能,例如通过软件编程来实现任意定时区间,并可能具备用户友好的界面,如数字显示屏和按钮来设定时间。 电路的设计可能包括以下几个关键部分: 1. **输入部分**:通常包括一个启动...
5. 动态设置时间范围:在开始时间控件的done回调函数中,可以调用结束时间控件的配置属性(config),并设置其最小值(min)为开始时间的时间数组。同理,在结束时间控件的done回调函数中,可以设置开始时间控件的...
C 实现 授权 设定授权时间限制 AES算法,使用C实现了授权以及加密解密的功能,里面含有多个功能函数接口,理解简单。
当计数值达到最大值(例如,小时计数器达到23)时,需要进行模运算,使其回零并递增下一个层次的计数器(分钟或秒)。 4. **七段数码管驱动**:为了在显示屏上显示时间,我们需要将十进制的小时、分钟和秒转换为七...
- 本班设备开始运行时间和结束运行时间:分别存储小时、分钟和秒在VW1680至VW1708中。 - 上下班时间设置:小时和分钟分别存储在VW1720和VW1724,以及VW1740和VW1744。 - 复位标志:如本班运行时间复位和累计运行时间...
根据提供的文件内容,这篇文档主要介绍的是SMC压力开关ZSE30-ISE30A中文设定说明书,重点在于如何对SMC压力开关进行各项设置。SMC压力开关广泛应用于各种工业场合,用以监测和控制系统的压力状态。以下是对文档中...
自动打铃系统是一款适合学校、工厂播放音乐定时打铃的软件,自动打铃系统可按设定时间播放设定的音乐,让学校定时打铃,轻松解决学校工厂打铃问题。 自动打铃系统使用说明: 1、请先运行本程序。 2、设置好每天...
3. Notify:事件通知对象,由于录音是一个长时间的过程,因此使用一个缓冲队列(多个缓冲区)接收数据,每当一个缓冲区满的时候,系统使用这个对象通知应用程序取走这个缓冲区,并继续录音。 除此之外,还需要以下...