首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android记要7-开发时会用到显示时间的知识点

2013-09-11 
Android记录7--开发时会用到显示时间的知识点Android记录7--开发时会用到显示时间的知识点2013年9月10日实

Android记录7--开发时会用到显示时间的知识点

Android记录7--开发时会用到显示时间的知识点


2013年9月10日实习当中、、、

Android的小伙伴们,在一些社交网络应用当中,不知道你们知不知道时间是一个很敏感的因素,你需要在某个特地的时间记录某些事情,比如微博,我们可以看到一条微博是在什么时候发表的,什么时候被转发的。其实新闻类的应用更能体现时间,不过时间是稍纵即逝的,新的新闻会把旧的新闻给冲淡掉,但有时我们可能想要回去查找某条新闻发生的时间,如果没有时间标识的话,那就感觉太不人道了。反正在开发中,总会用得上时间的地方,就拿我最近参与的一个项目来说,我要现实一封邮件是什么时候接收的,是在几年、几月、几日、几时、几分收到的,还要标识是在早上还是下午接收的,还有分两种情况显示,一个是在12小时制,一个在24小时制,两者的显示时间的逻辑又是不一样。有时候处理时间挺麻烦,其实也不麻烦,现在Java中关于时间的API已经很完备了,只要会用,基本能满足自己在开发中需求。好了,废话不多说,下面是自己整理的知识点,希望能帮到大家。


1、类 SimpleDateFormat

类的层次结构

java.lang.Object  Android记要7-开发时会用到显示时间的知识点java.text.Format      Android记要7-开发时会用到显示时间的知识点java.text.DateFormat          Android记要7-开发时会用到显示时间的知识点java.text.SimpleDateFormat

首先来看看表示时间的一下字母的含义:

字母日期或时间元素表示示例GEra 标志符TextADy年Year1996; 96M年中的月份MonthJuly; Jul; 07w年中的周数Number27W月份中的周数Number2D年中的天数Number189d月份中的天数Number10F月份中的星期Number2E星期中的天数TextTuesday; TueaAm/pm 标记TextPMH一天中的小时数(0-23)Number0k一天中的小时数(1-24)Number24Kam/pm 中的小时数(0-11)Number0ham/pm 中的小时数(1-12)Number12m小时中的分钟数Number30s分钟中的秒数Number55S毫秒数Number978z时区General time zonePacific Standard Time; PST; GMT-08:00Z时区RFC 822 time zone-0800

示例以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间 2001-07-04 12:08:56。
日期和时间模式结果"yyyy.MM.dd G 'at' HH:mm:ss z"2001.07.04 AD at 12:08:56 PDT"EEE, MMM d, ''yy"Wed, Jul 4, '01"h:mm a"12:08 PM"hh 'o''clock' a, zzzz"12 o'clock PM, Pacific Daylight Time"K:mm a, z"0:08 PM, PDT"yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04 AD 12:08 PM"EEE, d MMM yyyy HH:mm:ss Z"Wed, 4 Jul 2001 12:08:56 -0700"yyMMddHHmmssZ"010704120856-0700"yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700


2、时间的各种格式

/** 返回日期字符串 */public static String getDateString(Context context, Date date) {SimpleDateFormat dateFormat = new SimpleDateFormat();if(is24Hours(context)) {// HH:mm中的代表24小时制,hh:mm代表12小时制dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.getDefault());} else {dateFormat = new SimpleDateFormat("dd/MM/yyyy hh:mm", Locale.getDefault());// 形式为:00:30   31/12/2013, 6:54 amreturn dateFormat.format(date) + getTimeFormat(dateFormat);}return dateFormat.format(date);}/** 返回当前时间是上午还是下午**/public static String getTimeFormat(SimpleDateFormat dateFormat) {int aa = dateFormat.getCalendar().get(Calendar.AM_PM);String amStr = "";if(aa== 0) {amStr = " AM";} else if(aa == 1) {amStr = " PM";}return amStr;}/** 判断是否是24小时制**/public static boolean is24Hours(Context context) {// 获取系统时间制式,是24小时制,还是12小时制return DateFormat.is24HourFormat(context);}



热点排行