A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. public class Demo6 {
  2.     public static void main(String[] args) {

  3.         int n = 10;
  4.         String time = "2014-12-31 23:59:56";
  5.         shijian(n, time);
  6.     }

  7.     public static void shijian(int n, String time){
  8.         String[] str = time.split(" ");
  9.         String[] str1 = str[0].split("-");
  10.         String[] str2 = str[1].split(":");
  11.         int[] a = new int[6];
  12.         for (int i = 0; i < 3; i++) {
  13.             a[i] = Integer.parseInt(str1[i].trim());
  14.             a[i+3] = Integer.parseInt(str2[i].trim());
  15.         }
  16.         if (a[5]+10 < 60) {
  17.             System.out.println(time+"----n="+n+"---->"+a[0]+"-"+a[1]+"-"+a[2]+" "+a[3]+":"+a[4]+":"+(a[5]+10));
  18.         }else {
  19.             a[5] = a[5]+10 -60;
  20.             a[4] = a[4] + 1;
  21.             if (a[4]>=60) {
  22.                 a[4] = a[4]-60;
  23.                 a[3] = a[3] + 1;
  24.                 if (a[3]>=24) {
  25.                     a[3] = a[3] - 24;
  26.                     a[2] = a[2] + 1;
  27.                     if (a[2]>31&&(a[1] == 1 || a[1] == 3||a[1] == 5||a[1] == 7||a[1] == 8||a[1] == 10||a[1] == 12)) {
  28.                         a[2]  = a[2] - 31;
  29.                         a[1] = a[1]+1;
  30.                         if (a[1]>12) {
  31.                             a[1] = a[1] -12;
  32.                             a[0] = a[0] + 1;
  33.                         }
  34.                         
  35.                     }else if (a[2]>30&&(a[1] == 4 || a[1] == 6||a[1] == 9||a[1] == 11)) {
  36.                         a[2]  = a[2] - 30;
  37.                         a[1] = a[1]+1;
  38.                         if (a[1]>12) {
  39.                             a[1] = a[1] -12;
  40.                             a[0] = a[0] + 1;
  41.                         }
  42.                     }else if (a[2]>29&&(a[1] == 2)&&(a[0]%4 == 0)&&(a[0]%100 != 0)) {
  43.                         a[2]  = a[2] - 29;
  44.                         a[1] = a[1]+1;
  45.                         if (a[1]>12) {
  46.                             a[1] = a[1] -12;
  47.                             a[0] = a[0] + 1;
  48.                         }
  49.                     }else if (a[2]>28&&(a[1] == 2)&&(a[0]%4 != 0)){
  50.                         a[2]  = a[2] - 28;
  51.                         a[1] = a[1]+1;
  52.                         if (a[1]>12) {
  53.                             a[1] = a[1] -12;
  54.                             a[0] = a[0] + 1;
  55.                         }
  56.                     }
  57.                 }
  58.             }
  59.         }
  60.         String[] str_result = new String[6];
  61.         for (int i = 0; i < str_result.length; i++) {
  62.             if (a[i]<10) {
  63.                 str_result[i] = "0"+a[i];
  64.             }
  65.             else {
  66.                 str_result[i] = ""+a[i];
  67.             }
  68.         }
  69.         System.out.println(time+"----n="+n+"---->"+str_result[0]+"-"+str_result[1]+"-"+str_result[2]+" "+str_result[3]+":"+str_result[4]+":"+(str_result[5]));
  70.          
  71.     }
  72. }
  73. 结果:
  74. 2014-12-31 23:59:56----n=10---->2015-01-01 00:00:06
  75. 2004-02-28 23:59:56----n=10---->2004-02-29 00:00:06

复制代码

实现函数:输入年月日时分秒(字符串),输出该年月日时分秒的后n秒对应的时间(字符串),比如输入2014-12- 31 23:59:56,n=10,则输出2015-01-0100:00:06。(不允许使用系统函数),输入输出的时间格式:YYYY-MM-DD hh:mm:ss      有没有更简便的代码实现??

5 个回复

正序浏览
厉害厉害。。。。。。
回复 使用道具 举报
{:3_51:}{:3_50:}{:3_69:}
回复 使用道具 举报
介么厉害,大神,求抱大腿
回复 使用道具 举报
代码太长了,看得眼累啊~~
回复 使用道具 举报
这么厉害,看不懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马