android夏时令问题
来源:互联网 发布:数据处理软件pen 编辑:程序博客网 时间:2024/04/30 22:50
1.出现问题:
前两天,有个需求要把android默认的显示时间设置为洛杉矶时间,
本来是很简单的事情,修改下系统默认时区就可以了。我修改了以后,
在网上找到洛杉矶当地时间进行对比,居然少了一个小时。撒原因呢?
2.复现问题然后猜测
然后我又手动切换到其他两三个时区,和网上的时间进行对比,其他
时间是对的。当时我脑子里冒出的第一个想法就是代码有问题,也就是
显示洛杉矶时间的那段代码有问题。然后我找了两台机器,一台是同一
平台的,另一台是其他平台的,测试结果是同一平台有同样的现象,另外
的平台没有,更加让我坚定是平台代码有问题。
3.验证猜想
我当时想,相差一个小时,就是一个时区,可能是平台代码里面关于
洛杉矶的时区设置有问题,我就自己找找看,涉及到洛杉矶时间的文件也
不是特别多,java,cpp的都有,我随便看了下,都是些大代码,实在看不
下去,我就随便看了下文件头的注释,都是些IBM的大牛写的,也没有什么
修改的地方,既然没有修改,那说明不是这个问题,这路基本不通,就算
是通的,估计我也挖不同。
4.继续猜想
既然我知道了有其他时区的时间是准的,从其他时区来推算洛杉矶时区
的时间,应该可以知道问题在哪里。洛杉矶时间是GMT -8:00,凤凰城时间
是GMT -7:00,凤凰城的时间和网上是一样的,在MID上,凤凰城和洛杉矶的
时间相差了一个小时,按照这个现象来看,时间是对的啊,为什么和网上时间
有差异呢,结果我对比了一下,网上显示的凤凰城和洛杉矶的时间显示居然是
一样的,我擦,不会吧,难道这个所谓的世界时钟网有问题,我仔细看了下两个
时间,洛杉矶下面有个夏令时+1h,而凤凰城显示目前不是夏时制时间。
5.继续验证
我这种没见过“市面”的人,当然不知道什么是夏令时,不过谷歌知道。
夏时制(Daylight Saving Time:DST),又称“日光节约时制”
和“夏令时间”,是一种为节约能源而人为规定地方时间的制度,
在这一制度实行期间所采用的统一时间称为“夏令时间”。一般
在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,
减少照明量,以充分利用光照资源,从而节约照明用电。各个
采纳夏时制的国家具体规定不同。
6.结论
看到这里,结论就很明显了,在网上显示的洛杉矶时间是夏令时
时间,而我手上这台机器的平台代码并没有对夏时令时间做优化,
另外那个平台,可能以前就发现过这个问题,针对夏时令做了
修改。
心得:
1.我的能力还远远不够,而android是一个牵一发动全身的系统,
所以我目前处理问题的方法就是:复现问题,猜测原因,验证
原因,查找解决方法。
2.就像这次这个问题,如果你完全没碰到过,可能不好下手,但是
如果我下次碰到了,就很快往这方面想,可能这就是经验。
- android夏时令问题
- tomcat的夏时令问题(时区问题)
- 由夏时令引起的java世界时间不一致问题
- java中时区的时令问题
- PyCon 2011 - Hidden Treasures of the Python Standard Library - 获得夏时令标识符
- 白俄冬夏时令切换
- 水果蔬菜时令表
- 春天该吃的时令菜 春季时令菜谱_
- 解读老黄历--月日时令
- 【Foundation-72-3】NSTimeZone - 时令
- 时令变化进行养生的道理
- 来食路 - 素食系列之怎么挑选时令好蔬果
- 天航货运借助移动互联网技术直销时令特产
- 使用ofstream输出数据时令人暴寒的错误!0A = 0D 0A?
- android 问题
- Android 问题
- android问题
- android问题
- 用户体验思考之UI面试
- 带头节点单链表的逆序查找。
- download file in C#
- 菜鸟也学Ogre-一步步搭建Ogre
- linux---mingw
- android夏时令问题
- Eclipse中的重构类型
- 外壳命名空间扩展
- Eclipse下使用Ant
- 跨平台移动开发实战(十二)------HTML5安全
- SurfaceView与多线程
- 让Myeclipse支持jQuery、Ext等主流框架自动完成、调试功能,Myeclipse集成Apatana
- HDU 2642 二维树状数组问题
- Linux命令之pwd