做一个天气预报的程序。需要得到时间是白天还是晚上分别处理。但是得到的系统时间是十二小时制的,没有显示出白天还是晚上。即使我把手机改成二十四小时制的得到的时间也是十二小时制的。就像白天七点和晚上七点是分不出来的。而且还有一个问题就是,万一用户用的是十二小时制的话,那我也没法判断。大家帮帮忙有什么好的办法能判断是白天还是晚上。先谢谢大家了。

解决方案 »

  1.   

    可以判断的,12小时制的时间里面的AM、PM分别代表上午、下午ContentResolver cv = getBaseContext().getContentResolver();  
            String strTimeFormat = android.provider.Settings.System.getString(cv, android.provider.Settings.System.TIME_12_24);
            if(strTimeFormat!=null && strTimeFormat.equals("24"))
            {
              Log.i("Debug","24小时制");
            }
            else
            {
                    String amPmValues;  
                    Calendar c = Calendar.getInstance(); 
                    if(c.get(Calendar.AM_PM) == 0)
                    {     
                        amPmValues = "AM";
                    }
                    else
                    {     
                        amPmValues = "PM";     
                    }     
                    Log.i("Debug","12小时制现在是:" + amPmValues);
            }
      

  2.   

    为什么会判断不了?
    你不需要理会用户的时间是12小时还是24小时,只要时间是正确的就行,
    SimpleDateFormat sdf = new SimpleDateFormat("HH");
    String hour= sdf.format(new Date());