android默认系统日期、时间、时区更改

 

    做android平台,经常会遇到产品需要更改系统默认时区日期时间的问题。android更改时区相对比较容易实现,网上也有很多资料,直接设置一个属性即可,例如设置上海东八区,persist.sys.timezone=Asia/Shanghai。但是如何实现更改默认系统时间呢?

      在android中,Linux内核中、rtc时钟,默认的起始日期都是1970年1月1日,那么如何把默认日期指到2012-01-01呢?笔者在实践中发现,在RTC驱动中可以很容易实现。在RTC驱动加载的时候,一般都有个probe函数需要先执行,因此在probe函数里下手最直接有效。RTC从1970-01-01开始,那当然很容易把默认值设置到2012-01-01,所需要设置的seconds也就是从1970-01-01所差的秒数,以秒为单位。因此,一旦读出来的RTC值小于我们预想的值比如2012-01-01(1325402913)小,我们就把它设置到这个时间点。

seconds = rtc_read_time();printk("init PMU/RTC time to  %ld \n", seconds);if(seconds <= 1325402913) {seconds = 1325402913;/*2012-01-01*/ret = rtc_set_time(seconds);RTC_DBG("Init Set time: %ld, ret =0x%x\n", seconds, ret);}


 笔者通过结果显示,在android平台上是可行的。要设置到哪天几点几分,只要算好具体1970-01-01 00:00差的秒数即可,简单明了。这样客户、用户使用起来更方便一些。

更多相关文章

  1. Android--MediaPlayer音乐播放器歌词随时间高亮显示
  2. Button、选择框、日期、时间控件
  3. 求助: Android 加载 webview, 点击webview 中网页时间, 如何触发
  4. Android UI 之时间与日期控件
  5. android 时间获取以及时间格式化
  6. android启动时间
  7. 【android】时间选择器
  8. Android 获取网络时间
  9. Android 获取当前日期 时间

随机推荐

  1. 天天记录 - Android(安卓)ListView加载图
  2. Android---- 菜单(OptionMenu)大全 建立
  3. Android(安卓)studio4.0.1尝鲜
  4. Android(安卓)每周必看资源
  5. android service的使用(一)
  6. android使用艺术字,自定义字体
  7. 【Android工具】被忽略的UI检视利器:Hiera
  8. Android(安卓)版本兼容问题(一)
  9. android键盘映射之一
  10. kotlin