设置系统日期时间和时区

设置系统的日期时间和时区,需要 系统权限和系统签名android:sharedUserId="android.uid.system"
需要在manifest文件中添加相应的权限

  <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
  • 判断系统使用的是24小时制还是12小时制

    boolean is24Hour =  DateFormat.is24HourFormat(mContext);
  • 设置系统的小时制

24小时制

  android.provider.Settings.System.putString(mContext.getContentResolver(),
android.provider.Settings.System.TIME_12_24, "24");

12小时制

  android.provider.Settings.System.putString(mContext.getContentResolver(),
android.provider.Settings.System.TIME_12_24, "12");
  • 判断系统的时区是否是自动获取的

    public boolean isTimeZoneAuto(){
    try {
    return android.provider.Settings.Global.getInt(mContext.getContentResolver(),
    android.provider.Settings.Global.AUTO_TIME_ZONE) > 0;
    } catch (SettingNotFoundException e) {
    e.printStackTrace();
    return false;
    }
    }
  • 设置系统的时区是否自动获取

    public void setAutoTimeZone(int checked){
    android.provider.Settings.Global.putInt(mContext.getContentResolver(),
    android.provider.Settings.Global.AUTO_TIME_ZONE, checked);
    }
  • 判断系统的时间是否自动获取的

    public boolean isDateTimeAuto(){
    try {
    return android.provider.Settings.Global.getInt(mContext.getContentResolver(),
    android.provider.Settings.Global.AUTO_TIME) > 0;
    } catch (SettingNotFoundException e) {
    e.printStackTrace();
    return false;
    }
    }
  • 设置系统的时间是否需要自动获取

    public void setAutoDateTime(int checked){
    android.provider.Settings.Global.putInt(mContext.getContentResolver(),
    android.provider.Settings.Global.AUTO_TIME, checked);
    }
  • 设置系统日期

    参考系统Settings中的源码

    public void setSysDate(int year,int month,int day){
    Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR, year);
    c.set(Calendar.MONTH, month);
    c.set(Calendar.DAY_OF_MONTH, day); long when = c.getTimeInMillis(); if(when / 1000 < Integer.MAX_VALUE){
    ((AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);
    }
    }
  • 设置系统时间

    参考系统Settings中的源码

    public void setSysTime(int hour,int minute){
    Calendar c = Calendar.getInstance();
    c.set(Calendar.HOUR_OF_DAY, hour);
    c.set(Calendar.MINUTE, minute);
    c.set(Calendar.SECOND, 0);
    c.set(Calendar.MILLISECOND, 0); long when = c.getTimeInMillis(); if(when / 1000 < Integer.MAX_VALUE){
    ((AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);
    }
    }
  • 设置系统时区

    public void setTimeZone(String timeZone){
    final Calendar now = Calendar.getInstance();
    TimeZone tz = TimeZone.getTimeZone(timeZone);
    now.setTimeZone(tz);
    }
  • 获取系统当前的时区

    public String getDefaultTimeZone(){
    return TimeZone.getDefault().getDisplayName();
    }

Android实践 -- 设置系统日期时间和时区的更多相关文章

  1. linux设置系统日期时间

    设置当前日期: date -s 08/06/2015 设置当前时间:date -s 10:03:00 写入BIOS: clock -w 显示当前日期时间: date

  2. Android 通过应用设置系统日期和时间的方法

    Android 通过应用设置系统日期和时间的方法 android 2.3 android 4.0 测试可行,不过需要ROOT权限. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  3. Linux date命令 - 显示和设置系统日期与时间

    操作系统上的时间也许只是当做一个时钟.特别在控制台下, 我们通常并不认为时间有什么重要的.但是对于管理员,这种认识是错误的.你知道错误的日期和时间会导致你不能编译程序么? 因为日期和时间很重要,这或许 ...

  4. CentOS下date命令 - 显示和设置系统日期与时间

    显示系统日期 要显示系统日期,只要输入: $ date Thu Dec 5 22:55:41 WIB 2013 格式化显示日期 日期有很多格式.如果你不喜欢默认的格式,你可以换一种格式.你可能会想&q ...

  5. 我使用过的Linux命令之date - 显示、修改系统日期时间

    原文地址:http://www.cnblogs.com/diyunpeng/archive/2011/11/20/2256538.html 用途说明 ate命令可以用来显示和修改系统日期时间,注意不是 ...

  6. 我使用过的Linux命令之date - 显示、修改系统日期时间(转)

    用途说明 ate命令可以用来显示和修改系统日期时间,注意不是time命令. 常用参数 格式:date 显示当前日期时间. 格式:date mmddHHMM 格式:date mmddHHMMYYYY 格 ...

  7. 【BASIS系列】SAP 设置系统timeout时间

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[BASIS系列]SAP 设置系统timeout ...

  8. Android中关于日期时间与时区的使用总结

    在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范.   一.Unix时间戳   Unix时间戳(Unix tim ...

  9. Android 系统日期时间的获取

    import java.text.SimpleDateFormat; SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月 ...

随机推荐

  1. 紫书 例题 9-9 UVa 10003 (区间dp+递推顺序)

    区间dp,可以以一个区间为状态,f[i][j]是第i个切点到第j个切点的木棍的最小费用 那么对于当前这一个区间,枚举切点k, 可以得出f[i][j] = min{dp(i, k) + dp(k, j) ...

  2. 如何在 Highcharts 图中当所占百分比为 0 时不显示0%

    解决办法其实很简单,将enabled属性改为false即可: dataLabels: { enabled: false } 完成之后的显示如下

  3. HRBUST 1819 石子合并问题--圆形版

    石子合并问题--圆形版 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HRBUST. Original ...

  4. qgis显示引擎研究(一)

    作者:朱金灿 来源:http://blog.csdn.net/clever101 Qgis是一个著名的开源地理信息系统软件.今天研究了一下它的显示那一块,算是有一点眉目了. 在Windows环境下所有 ...

  5. Android 通过OnScrollListener来监听RecyclerView的位置

    最近做一个漫画app,在阅读漫画界面需要通过获取recyclerView的位置来实时更新界面上的图片进度(比如1/9), 查阅资料得知了可以通过LayoutManager来获取recyclerView ...

  6. iptables---linux防火墙

    iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分.可以直接配置,也可以通过许多前端和图形界面配置. 语法 iptables(选项)(参数) 选项 -t<表&g ...

  7. Java数据传递实验

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 在开发过程中,我们经常会遇到对象传递的问题,有时仅仅传递数据,有时却要实现数据同步:这时,就要分清两 ...

  8. Android 使用开源库载入网络图片

    Android 使用开源库载入网络图片,使用开源库载入图片.单击listview弹出popupwindow弹出框详情查看: Android 单击listview弹出popupwindow弹出框 ,里面 ...

  9. golang panic and recover

    panic 是一个内置函数,当一个函数 F 调用 panic,F 的执行就会停止,F 中 deferred 函数调用会被执行,然后 F 返回控制到它的调用者.这个过程会沿着调用栈执行下去,直到当前 g ...

  10. Maven学习总结(14)——Maven 多模块项目如何分工?

    一.开场白 使用Maven有段时间了,只能感慨真是个好东西,让我从传统模式体会到了严谨.规范.敏捷.方便的特性. 如果你懂Maven或许看过Juven翻译的<Maven权威指南>: 发个牢 ...