如何通过JsonArray检查AM | PM

时间:2013-09-06 05:15:38

标签: android json

/ {“chogadia”:[{“ChogadiaName”:5,“StartTime”:“5:25:50 AM”,“EndTime”:“7:9:13 AM”,“效果”: “Inauspicious Chogadia”},{“ChogadiaName”:6,“StartTime”:“7:9:13 AM”,“EndTime”:“8:52:37 AM”,“效果”:“吉祥的Chogadia”},{ “ChogadiaName”:7,“StartTime”:“8:52:37 AM”,“EndTime”:“10:36:1 AM”,“Effect”:“Inauspicious Chogadia”},{“ChogadiaName”:1,“ StartTime“:”10:36:1 AM“,”EndTime“:”12:19:24 AM“,”效果“:”Inauspicious Chogadia“},{”ChogadiaName“:2,”StartTime“:”12:19 :24 PM“,”EndTime“:”14:2:48 PM“,”效果“:”吉祥的Chogadia“},{”ChogadiaName“:3,”StartTime“:”14:2:48 PM“,”EndTime “:”15:46:12 PM“,”效果“:”吉祥的Chogadia“},{”ChogadiaName“:4,”StartTime“:”15:46:12 PM“,”EndTime“:”17:29: 36 PM“,”效果“:”吉祥的Chogadia“},{”ChogadiaName“:5,”StartTime“:”17:29:36 PM“,”EndTime“:”19:13:0 PM“,”效果“ :“Inauspicious Chogadia”},{“ChogadiaName”:3,“StartTime”:“19:13:0 PM”,“EndTime”:“20:29:36 PM”,“效果”:“吉祥的Chogadia”}] } /

公共课ChogadiaParser {

public static  ArrayList<Chogadia> mList=new ArrayList<Chogadia>();
public static Chogadia mChogadia;
public static String response,chogadia;
public static String Lucky="Auspicious Chogadia";
public static String UnLucky="Inauspicious Chogadia";
public static String chogadiaName,startTime,endTime;


public static void GroupResult(String url){

    try{
      JSONArray jArray;
      JSONObject jObject;

     response=GetJsonObject.sendRequest(url);

     if(response == null){
            return;
        }

     jObject=new JSONObject(response);
     jArray=jObject.getJSONArray("chogadia");
     mList.clear();
     for(int i=0;i<jArray.length();i++){

         mChogadia=new Chogadia();
         jObject=jArray.getJSONObject(i);
         mChogadia.SetChogadiaName(jObject.getString("ChogadiaName"));
         mChogadia.SetStartTime(jObject.getString("StartTime"));
         mChogadia.SetEndTime(jObject.getString("EndTime"));
         mChogadia.SetEffect(jObject.getString("Effect"));
         mList.add(mChogadia);



         if(mathcTime(jObject.getString("StartTime"),jObject.getString("EndTime"))){

              chogadiaName=jObject.getString("ChogadiaName");
              startTime=jObject.getString("StartTime");
              endTime=jObject.getString("EndTime");
              System.out.println("Matched Name Is: " + jObject.getString("ChogadiaName")+"" + jObject.getString("StartTime") );
              Log.e("String time", jObject.getString("ChogadiaName"));


         }
     } 

    }catch(Exception e){
        e.printStackTrace();    
    }

}

   private static boolean mathcTime(String stime,String eTime) {
    SimpleDateFormat ft = new SimpleDateFormat("hh:mm:ss");

    try {
        Date ct = new Date();
        Date st = ft.parse(stime);
        Date et=ft.parse(eTime);;

        long currentTime = ((ct.getHours()*60)*60) + (ct.getMinutes()*60) + (ct.getSeconds());
        long startTime = ((st.getHours()*60)*60) + (st.getMinutes()*60) + (st.getSeconds());
        long endTime = ((et.getHours()*60)*60) + (et.getMinutes()*60) + (et.getSeconds());

        if(currentTime>=startTime && currentTime<=endTime){
            return true;
        }else{
            return false;
        }
    } catch (Exception e) {
    }
 return false;
}

} 请帮我解决这个问题...这里我匹配设备等于获取时间(获取时间显示为上方评论)并显示chogadiaName.it正在工作,但prblm是不匹配时间AM它开始匹配仅限PM。请帮助我。

1 个答案:

答案 0 :(得分:0)

尝试像这样的日期格式

SimpleDateFormat ft = new SimpleDateFormat("hh:mm:ss a");

了解更多详情Oracle Doc