欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发中获取判断系统当前时间格式并获取当前时间

程序员文章站 2022-08-29 12:14:27
Android开发中获取判断系统当前时间格式并获取当前时间在工作中遇到了一个这样的需求,在工厂测试软件中,需要展示当前时间,格式需要和系统的时间格式一样,也就是说当系统的时间是12小时制的时候,软件中也一样,24小时制也是如此。相对而言这个需求的较难的点在于判断当前系统时间是12小时制还是24小时制。我在网上找到的方法如下: ContentResolver cv = this.getContentResolver(); String strTimeFormat = android.pro...

Android开发中获取判断系统当前时间格式并获取当前时间

在工作中遇到了一个这样的需求,在工厂测试软件中,需要展示当前时间,格式需要和系统的时间格式一样,也就是说当系统的时间是12小时制的时候,软件中也一样,24小时制也是如此。
相对而言这个需求的较关键的点在于判断当前系统时间是12小时制还是24小时制。我在网上找到的方法如下:

    ContentResolver cv = this.getContentResolver();
    String strTimeFormat = android.provider.Settings.System.getString(cv,
                                       android.provider.Settings.System.TIME_12_24);
   
    if(strTimeFormat.equals("24"))

   {
          Log.i("activity","24");
    }

原文链接:https://www.cnblogs.com/liwqiang/archive/2010/08/08/1795172.html

但当我运用到程序中时,程序会报错闪退,查实后发现获取到的strTimeFormat的值一直为null,苦思后无果,不知是什么原因,后放弃采用了下面的办法:

boolean is24 = DateFormat.is24HourFormat(context);

实测可行。

在此贴出需求完成后关于这部分的代码:

    public static String timeFormat;

     private String getTime() {
+        boolean is24 = DateFormat.is24HourFormat(this);
+        if (is24) {
+            timeFormat = "HH:mm:ss";
+        } else {
+            timeFormat = "hh:mm:ss";
+        }
         SimpleDateFormat TIME_FORMAT = new SimpleDateFormat(timeFormat);
         return TIME_FORMAT.format(new Date());

完工大吉!

本文地址:https://blog.csdn.net/qq_36817479/article/details/110286994

相关标签: Android java