Java 时间(日期)相加处理

您所在的位置:网站首页 java两个日期相减计算分钟时间 Java 时间(日期)相加处理

Java 时间(日期)相加处理

2024-07-12 18:55| 来源: 网络整理| 查看: 265

/**  *   *   * 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。  * 定义名为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); } }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3