android获取系统标准时区的时间

如下是参考android系统源码获取统标准时区的时间,包括上下午的字串,例如设置系统日期格式为31-12-2012 ,那么返回的字串就是31-12-2012上午

主要是同步系统日期的格式,并且了解android 中SimpeDataFormat 和 Data 的用法。

[java]  view plain copy
  1. /** 
  2.  * 获得标准系统时间 
  3.  * @param context 
  4.  * @return 
  5.  */  
  6. public static String getDateAndTimeString(Context context) {  
  7.     ContentResolver cv = context.getContentResolver();  
  8.     Resources resources = context.getResources();  
  9.     String timeString = null;  
  10.     String strDateFormat = android.provider.Settings.System.getString(cv,  
  11.             android.provider.Settings.System.DATE_FORMAT);  
  12.     if (TextUtils.isEmpty(strDateFormat)) {  
  13.         strDateFormat = "yyyy-MM-dd";  
  14.     }  
  15.     SimpleDateFormat mmdateFormat = new SimpleDateFormat(strDateFormat);  
  16.     String strTimeFormat = android.provider.Settings.System.getString(cv,  
  17.             android.provider.Settings.System.TIME_12_24);  
  18.     long dateTaken = System.currentTimeMillis();  
  19.     int time[] = getHourAndMinuteOfDay(new Date(dateTaken), strTimeFormat);  
  20.     timeString = resources.getString(Res.string.taken_on) + ": "  
  21.             + mmdateFormat.format(new Date(dateTaken)) + " " + time[ID_HOUR] + ":"  
  22.             + (time[ID_MINUTE] < 10 ? ("0" + time[ID_MINUTE]) : time[ID_MINUTE]);  
  23.   
  24.     if (time[ID_AM_PM] != -1) {  
  25.         timeString = timeString.toString() + DateUtils.getAMPMString(time[ID_AM_PM]);  
  26.     }  
  27.   
  28.     return timeString;  
  29. }  

getHourAndMinuteOfDay(new Date(dateTaken), strTimeFormat)中的dateTaken可以是任意时间,所以此方法稍加改动,重用性还是很强的。

原文地址:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值