I、获取系统时间制式(12小时制/24小时制)

1、背景/使用场景

在有些软件中,可能需要展示一些时间信息,而这些信息可能是Server以UTC格式或Unix timestamp 格式推送过来的,终端可能需要将这些转换为本地时间展示。

为了实现12/24小时计时转换,设置控制键mode2,当mode2 1时,显示24小时制计时,当mode2 0时,显示12小时制计时。“更改日期和时间”主要用来手动调整或设置新的时间,但更多是设置日历的显示格式,比如按照12小时制显示或是24小时制显示(十二小时制与二十四小时制详解),下图的时间是按照12小时制显示,且天缘安装的是英文版windows 7系统加了中文语言包,所以默认格式还是美国的格式。这种情况跟伴音制式有关系,我们的产品调制器分了两种音制《d/k-i》制,一般情况电视机默认的音制为d/k制android 时区时间转换,而调制器的伴音制式为i制式时,则需要在电视机上把没有声音的频道调为i制即可,不同的电视伴音模式也有不同《6.5mhz-6.0mhz》这种电视默认为6.5mhz,跟上面的同样改为6.0mhz即可,又或者我们部分调制器设有外置dk/i伴音切换开关,用户可自由切换。

2、获取方式

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制式");

}

if(strTimeFormat.equals("12"))

{

Log.i("activity","当前是12制式");

}

3、如何转换为12小时制式/24小时制式的表示方式

String getTimestamp()

{

// 转换为24小时制式的字串

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss sss");

Date date = new Date();

return df.format(date);

}

HH:返回的是24小时制的时间

hh:返回的是12小时制的时间

II、时区

1、基本概念

时区 :

time zone 1884年国际经线会议规定,全球按经度分为24个时区,每区各占经度15°。

东时区为东经度,西时区为西经度(东经 80和西经180合称为一条) 时区本初子午线——东、西经度数的分界线4、西经20和东经160——东、西半球的分界线5、180经线——地球上“今天”和“昨天”的人为分界线,即国际日期变更线,简称“日界线” 将某时区中央经线的度数分别加、减7.5所得的和及差即为该时区的范围边界。我国统一使用的标准时间就是北京时间.我国幅员辽阔,领土面积东西两端经差60多度,由西向东划分为东5区、东6区、东7区、东8区和东9区共5个时区.最东的地方和最西的地方,时间相差4个多小时.为了统一和工作上的方便,我国规定:首都北京所在时区(东8时区)的标准时为全国统一时间,称北京时间.。时区本初子午线——东、西经度数的分界线4、西经20和东经160——东、西半球的分界线5、180经线——地球上“今天”和“昨天”的人为分界线,即国际日期变更线,简称“日界线” 若两地同在东时区或西时区,时区差数为大的时区序数减去小的时区序数。

CST :

China Standard Time UTC+8:00 中国标准时间(北京时间),在东八区。

UTC :

Universal Time Coordinated,世界协调时间,又称世界标准时间、世界统一时间。UTC 提供了一种与时区无关(或非特定于时区)的时间。

世界上的所有时区都可以表示为 UTC 加上或减去一个偏移量。

因此,UTC是0时区的时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时。

GMT :

皇家霍洛威学院位于伦敦六区的egham, 为伦敦轻轨系统所覆盖的地区。1994年12月,在伦敦召开的一次皇家天文学会会议上,霍伊尔曾经牵强附会地指出,暴涨理论的有关方程式与他的稳恒态理论版本中的完全一样,只不过将字母‘c’换成了希腊字母‘φ’而已(译注:英文‘创造’一词的首字母是‘c’,所以创造场又叫做c场。2位最后胜出者在10月30日参加了在伦敦查尔斯王子官方居所克拉伦斯府举办的颁奖仪式,由查尔斯王子和皇家邮政首席执行官莫亚·格林颁奖。

Unix timestamp :

Unix时间戳,或称Unix时间(Unix time)、POSIX时间(POSIX time)android 时区时间转换,是一种时间表示方式,

定义为从格林威治时间(UTC/GMT的午夜)1970年01月01日00时00分00秒起至现在的总秒数。

可以这么说:

UTC和GMT几乎是同一概念,两者的区别是GMT是一个天文上的概念,UTC是基于原子钟。

GMT=UTC(精确滴说是:UTC = GMT +/- 0.9 s)

GMT + 8 = UTC + 8 = CST

UTC+时间差=本地时间 (时间差东为正,西为负,东八区记为 +0800)

2、UTC与GMT本地时区的转换

将Server传送的UTC时间,转换为指定时区的时间,示例代码如下。

如果转换为本地Local时间,则直接传本地时区即可。

本地时区的获取方法为TimeZone.getDefault()。

/* 将Server传送的UTC时间转换为指定时区的时间 */

public String converTime(String srcTime, TimeZone timezone)

{

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

SimpleDateFormat dspFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");

String convertTime;

Date result_date;

long result_time = 0;

// 如果传入参数异常,使用本地时间

if (null == srcTime)

{

result_time = System.currentTimeMillis();

}

else

{

// 将输入时间字串转换为UTC时间

try

{

sdf.setTimeZone(TimeZone.getTimeZone("GMT00:00"));

result_date = sdf.parse(srcTime);

result_time = result_date.getTime();

}

catch (Exception e)

{

// 出现异常时,使用本地时间

result_time = System.currentTimeMillis();

dspFmt.setTimeZone(TimeZone.getDefault());

convertTime = dspFmt.format(result_time);

return convertTime;

}

}

// 设定时区

dspFmt.setTimeZone(timezone);

convertTime = dspFmt.format(result_time);

Log.e("current zone:", "id=" + sdf.getTimeZone().getID()

+ " name=" + sdf.getTimeZone().getDisplayName());

return convertTime;

}

3、Unix timestamp与GMT的转换

详细可以参考

#

参考网友资料:

#

相关资源:...当前年月日时分秒系统时间(示例代码)_android获取系统时间...

Date date = new Date();
//12小时制
SimpleDateFormat sdformat12 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sdformat12.format(date));
 
 
Date date = new Date();
//24小时制
SimpleDateFormat sdformat24 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdformat24.format(date));

Calendar   date   =   Calendar.getInstance(); 
// 得到24小时机制
 date.get(Calendar.HOUR_OF_DAY   );  
// 得到12小时机制
 date.get(Calendar.HOUR);

android 获取24小时,Android系统时间制式的获取相关推荐

  1. Java获取24小时之前的时间点

    Java 获取24小时之前的时间点 直接上代码 import java.text.DateFormat; import java.text.SimpleDateFormat; import java. ...

  2. 24小时 java_Java获取24小时制的时间方法

    public static void main(String arg[]) { (一)获取24小时制中的时刻) Date today = new Date(); // 格式化时间 SimpleDate ...

  3. 获取系统时间出错oracle-,oracle 获取系统时间(转)

    Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; ORACLE里获取一个时间的年.季.月.周.日 ...

  4. sina微博api:获取24小时内前20条用户的微博信息

    package weibo4j.examples; import java.util.List; import weibo4j.Status; import weibo4j.Weibo; import ...

  5. 编写程序把24小时制的时间改成12小时制

    编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的格式: Enter a 24-hour time: 21 :11 Equivalent 12-hour time: 9:11 PM 注意 ...

  6. java实现12小时制和24小时制的时间

    java实现12小时制和24小时制的时间转换 //****************@Testpublic void atest(){Date today = new Date();SimpleDate ...

  7. MySQL关于把AM/PM格式的时间转换为24小时制的时间格式

    MySQL把AM/PM格式的时间转换为24小时制的时间格式 时间无序表达时,使用STR_TO_DATE函数进行转换,具体示例如下: select 交易时间,STR_TO_DATE(交易时间,'%m/% ...

  8. android calendar 24小时制,Android 使用SimpleDateFormat以及Calendar转换时间为12小时制和24小时制时间格式...

    由于项目需要,有些地方要使用12小时制时间格式,而有些地方使用的24小时制时间格式 通过研究代码,原来...So easy,现将实现的方法写下来和大家分享 使用SimpleDateFormat时格式化 ...

  9. Android开发之实时更新系统时间

    实现功能跟手机的时间一样,可模仿秒钟的跳动,实时更新时间到textView中 封装的方法: /** * 时间变化handler */ @SuppressLint("HandlerLeak&q ...

最新文章

  1. POJ-1753 Flip Game 枚举 状态压缩
  2. .net OCX 无法获取“****”控件的窗口句柄,不支持无窗口的ActiveX控 新解决方法...
  3. 虚拟化VMware之存储与虚拟机主机管理(1)
  4. Windows文件目录DOS窗口
  5. jQueryHTMLCSS3实现垂直手风琴折叠菜单方法讲解
  6. 数据库分组选 第一条
  7. Python数据结构之四——set(集合)
  8. android 安卓市场,安卓市场(Android Market).doc
  9. 智能判断图片中是否存在某物体_基于WT901传感器及NB-IOT无线技术开发的一款物体倾倒监测设备...
  10. 正则RegExp对象的用法
  11. OpenCV-车牌号检测
  12. 诺基亚 8208支持java么_诺基亚8_诺基亚8208怎么上网_8208 诺基亚
  13. php ci 优化,CodeIgniter 性能优化
  14. 使用opengl和c++实现迷宫地图的路径搜索和显示(基于DFS)
  15. 引用动态链接库的原理
  16. 人工智能真的具有创造力?
  17. win10如何调整计算机时间同步,Win10如何修改时间同步服务器?Windows时间同步出错解决方法...
  18. 大数据时代的变革与顺势而为——读《大数据时代》
  19. 【英语:基础高阶_全场景覆盖表达】K6.口语主题陈述——人物类
  20. 2020省赛总结与反思

热门文章

  1. Qt:35---Splash窗口与登录窗口
  2. mysql unknow column_Python/MySQL查询错误:`Unknown column`
  3. ubuntu 12.04 中使用经典的 GNOME桌面
  4. REDD Intelligence宣布高管任命
  5. 阶乘函数(factorial)——结果在整型范围内的阶乘计算
  6. 让强大的EmEditor支持神奇的Python作为内置的宏脚本(一)
  7. 微信公众号JS不生效
  8. 造血干细胞培养涉及相关因子总结
  9. Qt插件:QLibrary
  10. 如何解决Win7将任务栏程序自动分组的困扰