获取Android系统时间是24小时制还是12小时制

时间:2022-08-15 15:46:47

最近项目出现了一个bug,进入导航查看GPS定位情况,有时会导致导航软件意外停止,发现是GPS时间有时候不能获取Android系统时间是24小时制还是12小时制,原来使用的是下面的:

  ContentResolver cv = this.getActivity().getContentResolver();
        // 获取当前系统设置
        String strTimeFormat = android.provider.Settings.System.getString(cv,
                android.provider.Settings.System.TIME_12_24);
        if(strTimeFormat.equals("24"))
        {
            mIs24 = true;
            Log.i("GpsSatelliteStar", "当前是24制式");
        }

        if(strTimeFormat.equals("12"))
        {
            mIs24 = false;
            Log.i("GpsSatelliteStar","当前是12制式");
        }*/

有的时候不能取到值,所以出现空指针,无奈网上说的比较笼统,菜鸟看不懂,后来试了一次,发现改了下就可以正常使用了。

 if(DateFormat.is24HourFormat(getActivity().getApplicationContext())){


        mIs24 = true;
            Log.i("GpsSatelliteStar", "当前是24制式");


        }else{
         mIs24 = false;
                  Log.i("GpsSatelliteStar","当前是12制式");
        }

lixuesong13的专栏如果有帮助请帮顶。