Java 时间(日期)相加处理
2015-08-30 21:26
495 查看
/**
*
*
* 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。
* 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second)
*
* 为MyTime类添加以下方法:
* (1).diaplay() 打印时、分、秒
* (2).addSecond(int sec) 对秒进行加运算。
* (3).addMinute(int min) 对分进行加运算。
* (4).addHour(int hou) 对时进行加运算。
* (5).subSecond(int sec) 对秒进行减运算。
* (6).subMinute(int min) 对分进行减运算。
* (7).subHour(int hou) 对时进行减运算。
*/
*
*
* 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。
* 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second)
*
* 为MyTime类添加以下方法:
* (1).diaplay() 打印时、分、秒
* (2).addSecond(int sec) 对秒进行加运算。
* (3).addMinute(int min) 对分进行加运算。
* (4).addHour(int hou) 对时进行加运算。
* (5).subSecond(int sec) 对秒进行减运算。
* (6).subMinute(int min) 对分进行减运算。
* (7).subHour(int hou) 对时进行减运算。
*/
class MyTime { private int hour; private int minute; private int second; public MyTime(int hour, int minute, int second) { this.hour = hour; this.minute = minute; this.second = second; } public void setHour(int hour) { this.hour = hour; } public void setMinute(int minute) { this.minute = minute; } public void setSecond(int second) { this.second = second; } public int getHour() { return this.hour; } public int getMinute() { return this.minute; } public int getSecond() { return this.second; } // (1).diaplay() 打印时、分、秒 public void diaplay() { String HH; String MM; String SS; if(this.hour < 10) { HH = "0" + this.hour; } else { HH = "" + this.hour; } if(this.minute < 10) { MM = "0" + this.minute; } else { MM = "" + this.minute; } if(this.second < 10) { SS = "0" + this.second; } else { SS = "" + this.second; } System.out.println(HH + ":" + MM + ":" + SS); } // (2).addSecond(int sec) 对秒进行加运算。 public void addSecond(int sec) { int ss = sec % 60; int mm = (sec / 60) % 60; int hh = sec / (60 * 60); if ((this.second + ss) < 60) { this.second += ss; this.minute += mm; if(this.minute > 60) { this.minute = this.minute % 60; this.hour++; this.hour += hh; if(this.hour > 24) { this.hour = this.hour % 24; } } this.hour += hh; if(this.hour > 24 ){ this.hour = this.hour % 24; } } else { this.second = (this.second + ss) % 60; this.minute++; this.minute += mm; if(this.minute > 60) { this.minute = this.minute % 60; this.hour++; this.hour += hh; if(this.hour > 24) { this.hour = this.hour % 24; } } this.hour += hh; if(this.hour > 24 ){ this.hour = this.hour % 24; } } diaplay(); } // (3).addMinute(int min) 对分进行加运算。 public void addMinute(int min) { int mm = min % 60; int hh = min /60; if ((this.minute + mm) < 60) { this.minute += mm; this.hour += hh; if(this.hour > 24) { this.hour = this.hour % 24; } } else { this.minute = (this.minute + mm) % 60; this.hour++; this.hour += hh; if(this.hour > 24) { this.hour = this.hour % 24; } } diaplay(); } // (4).addHour(int hou) 对时进行加运算。 public void addHour(int hou) { if ((this.hour + hou) < 24) { this.hour += hou; } else { this.hour = (this.hour + hou) % 24; } diaplay(); } // (5).subSecond(int sec) 对秒进行减运算。 public void subSecond(int sec) { int ss = sec % 60; int mm = (sec / 60) % 60 ; int hh = sec / (60 * 60); if ((this.second - ss) >= 0) { this.second -= ss; this.minute -= mm; if(this.minute < 0) { this.minute = this.minute + 60; this.hour--; if(this.hour < 0) { this.hour += 24; } } this.hour -= hh; if(this.hour < 0) { this.hour += 24; } } else { this.second = this.second + 60 -ss; this.minute--; if((this.minute - mm) >= 0) { this.minute -= mm; } else { this.minute = (this.minute + 60 -mm) % 60; this.hour--; if((this.hour - hh) >= 0) { this.hour -= hh; } else { this.hour = (this.hour -hh) % 24 + 24; } } } diaplay(); } // (6).subMinute(int min) 对分进行减运算。 public void subMinute(int min) { int mm = min % 60; int hh = min / 60; if ((this.minute - mm) >= 0) { this.minute -= mm; this.hour -= hh; if(this.hour < 0) { this.hour = this.hour % 24 + 24; } } else { this.minute = (this.minute + 60 -mm) % 60; this.hour--; if((this.hour - hh) >= 0) { this.hour -= hh; } else { this.hour = ((this.hour -hh) % 24 + 24) % 24; } } diaplay(); } // (7).subHour(int hou) 对时进行减运算。 public void subHour(int hou) { hou = hou %24; if((this.hour - hou) >= 0) { this.hour -= hou; } else { this.hour = (this.hour + 24 -hou) % 24; } diaplay(); } } public class Example1 { public static void main(String[] args) { MyTime time = new MyTime(10, 10, 10); time.diaplay(); time.addSecond(15); time.addMinute(35); time.addHour(15); time.subSecond(15); time.subMinute(25); time.subHour(15); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统