开始时认为很简单,用一个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的基本用法。通常,我们通过调用laydate实例并传递配置对象来初始化日期选择器。配置对象可以包含多个参数,用于设置日期格式、显示模式、禁用...
在本文中,我们将深入探讨如何使用Vue.js框架与Element UI库来实现一个具有自定义分钟固定步长的日期时间选择器。Vue.js是一款轻量级的前端JavaScript框架,以其灵活性和可扩展性受到广大开发者的青睐。而Element UI...
基于MATLAB实现的定时器:设定时间通过响铃和弹窗提示+使用说明文档.zip 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据...
我们可以选择一个定时器(例如T1),设定其定时时间为PT=18000*100=1800000ms,即1800秒,也就是30分钟。由于我们需要2小时的运行时间,所以需要这个定时器计数4次。每当定时器到达预设时间,计数器(例如C1)就会...
MATLAB开发的小闹钟设定时间通过响铃和弹窗提示-定时器:设定时间通过响铃和弹窗提示.zip MATLAB开发的小闹钟:设定时间通过响铃和弹窗提示 源文件在附件中下载, 把本文件夹放在工作目录,运行main.m 设定...
用户通过选择各个列表项来设定时间。 2. 滑块式:通过左右滑动条来选择时间,直观且易于操作,特别适合移动设备。 3. 日历视图:提供一个日历界面,用户可以点击日期和时间选择框,直观地选取日期和时间。 4. ...
这可以是秒、分钟、小时等,根据实际应用需求选择合适的单位。 5. **保存与应用**:设定好定时值后,记得保存设置,并将其应用到当前运行的PLC程序中。 接下来,我们要讨论如何在操作面板上显示定时器的剩余时间:...
假设需要设计一个简易的自动送料系统,该系统需要每隔30分钟自动运行一次,每次运行时间为5分钟。具体实现过程如下: 1. **选择合适的PLC型号**:根据实际需求选择松下PLC的某一型号,例如FP-X系列。 2. **编写程序...
例如,如果你想要将时间设置为特定的日期和时间,可以创建一个包含年、月、日、小时、分钟和秒的日期/时间结构,并将其转换为毫秒时间戳。 3. **设置系统时间**:最后,你需要调用操作系统API函数来设置新的时间。...
总的来说,这个“分钟—小时定时器电路”项目涉及到硬件电路设计、单片机编程、中断处理、电源管理等多个方面的知识。通过实践这样的项目,可以深入理解单片机的工作原理及其在实际应用中的运用。
这个插件允许开发者在网页上创建一个能够限制用户仅选择小时和分钟的时间输入框,同时提供了定制间隔和时间范围的能力。 首先,让我们详细了解一下`jquery-timepicker.js`。这是一个基于jQuery的库,扩展了HTML的`...
这个过程在Linux系统中通常通过cron服务实现,cron是一个守护进程,它按照预设的时间表运行各种任务,包括系统维护、数据备份、日志处理等。 实验一“设定任务计划”主要涵盖两大部分:理解任务计划及其类型,以及...
本项目针对“开始时间—结束时间”的选择场景,提供了一个弹出视图(Popup View)解决方案,允许用户在设定的时间范围内进行选择。下面将详细介绍这个自定义时间选择器的实现原理和关键知识点。 1. 自定义...
微控制器则能提供更高级的计时功能,例如通过软件编程来实现任意定时区间,并可能具备用户友好的界面,如数字显示屏和按钮来设定时间。 电路的设计可能包括以下几个关键部分: 1. **输入部分**:通常包括一个启动...
将鼠标移至要模拟单击处按热键,于下一秒开始后计时,windowsXP不是实时系统,系统时间误差在20-55ms,而且通过程序获得(特别在CPU占用率高时)都会有延迟,要高精度需要凋API或者取CPU时钟频率,还要计算开机以来...
5. 动态设置时间范围:在开始时间控件的done回调函数中,可以调用结束时间控件的配置属性(config),并设置其最小值(min)为开始时间的时间数组。同理,在结束时间控件的done回调函数中,可以设置开始时间控件的...
【Winform基于多线程实现每隔1分钟执行一段代码】的知识点主要集中在以下几个方面: 1. **多线程**:在Windows Forms(Winform)应用中,为了不影响UI线程的响应,通常会使用多线程来执行长时间或计算密集型的任务...
2. S5时间格式:这是西门子S5 PLC中的时间表示法,可以直接用小时、分钟、秒和毫秒来设定定时值。格式为`S5T#aH_bM_cS_dMS`,例如`S5T#1H_13M_8S`代表1小时13分钟8秒。在S5时间格式中,时基会根据设定的时间值自动...