我必须将字符串08:00 AM到08:00 PM转换为半小时的时段

时间:2017-02-22 18:51:10

标签: java

我必须将字符串08:00 AM转到08:00 PM到半小时的时段,如08:00 AM到08:30 AM,字符串的值将从07:00 AM到08:00 PM变化

1 个答案:

答案 0 :(得分:0)

如果我理解你的话你想要一个字符串从早上7点到晚上8点增加半小时。如果是这样的话那么你可以通过一个循环来完成。我已经专门做了一次你。

public static void main(String [] args){

       String l = "7:00am";
         String q = "8:00pm";
         String j="";
         String k = "";
         String g = "";
         int v = 0;
         int i = 0;

         while (l.equals(q)== false){
               j="";
               i=0;
              while (i<2){
            if (l.charAt(i)== (':')){
                break;
            }
            j=j+l.charAt(i);
            i++;
        }
   k = l.substring(j.length()+1,l.length()-2);
   if (l.equals(q)== true){
break;
   }
   else if (j.equals("11")&& k.equals("30")){
      if ((l.charAt(l.length()-2))==('a')) {
       v=Integer.parseInt(j)+1;
      g=""+v+":00pm"; 
      System.out.println(g);
  l="1:00pm"; 


   }else if((l.charAt(l.length()-2))==('p')){
      v=Integer.parseInt(j)+1;
      g=""+v+":00am"; 
      System.out.println(g);
  l="1:00am"; 

   }
   }
   else if ((l.charAt(l.length()-2))==('a') && k.equals("30")){

       v=Integer.parseInt(j)+1;
      g=""+v+":00am"; 
      System.out.println(g);
  l=g;

   }
   else if((l.charAt(l.length()-2))==('a') && k.equals("00")){
     v=Integer.parseInt(j);
      g=""+v+":30am"; 
      System.out.println(g);
      l=g;

   }
   else if ((l.charAt(l.length()-2))==('p') && k.equals("00") ){
        v= Integer.parseInt(j);
      g=""+v+":30pm"; 
      System.out.println(g);
      l=g;

   }
   else if((l.charAt(l.length()-2))==('p') && k.equals("30")){
          v=Integer.parseInt(j)+1;
      g=""+v+":00pm"; 
      System.out.println(g);
      l=g;
   }

   }   
}
}

希望有所帮助。