直接传入毫秒数作为参数,给Date对象就可以得到普通的时间了,然后通过getHours,getFullYear等方法获取年月日,时分秒:
Date newTime = new Date(“传入毫秒”); //就得到普通的时间了int hour = newTimegetHours();//就得到了小时
在Android中大概又两种实现方式:一种是java中的Timer类,一种是Android中的Alerm机制。两者功能差不多。
Alerm具有cup运行锁,而Timer不具有cpu锁。
每种手机都具有自己的休眠策略,当长时间不是手机的情况下,cpu就会进入休眠状态。在这种情况下Timer将无法工作。而Alerm具有cpu锁,将会导致cpu无法休眠。
AlarmManager manger=(AlarManger)getSystemService(ContextALARM_SERVICE);
mangerset(int flag,long time,PendingIntent pendingIntent);
set方法参数说明:
第一个参数flag为工作类型:
AlarmManger ELAPSED_REALTIME:让定时时间从开机算起时间算起,但不会唤醒cpu。
AlarmMangerELAPSED_REALTIME_WAKEUP:同样表示让定时时间从开机算起,但会唤醒 CPU。
RTC:表示让定时任务从1970年1月1日算起,但是不唤醒cpu。
RTC_WAKEUP:表示让定时任务从1970年1月1日算起,但是唤醒cpu。
提示:SystemClockelapsedReadtime()---获取系统开机至今所经历的毫秒数;
SystemcurrentTimeMillis()-------方法获取1970年1月1日至今天的毫秒数;
第二个参数: 延时的时间,单位毫秒;
第三个参数: PendingIntent指定具体动作;
注意:Android44版本后set方法触发不准确,有可能会延时一段时间执行(这不是Bug,是电池性能优化,系统会检测目前有多少个Alarm任务存在,然后将触发相近的几个任务一起执行)
如果要精确执行,将 setExact() 方法代替set()方法。
cancel ( PendingIntent operation )
方法将会取消Intent匹配的任何闹钟。
setRepeating(int type,long triggerAtTime,long interval,PendingIntent operation);
参数说明:interval重复时间间隔;(44后触发不准时)
AlarmManger的其它功能:
设置系统时间和时区
添加权限:androidpermissionSET_TIME;
通过setTime(long millis)方法设置系统时间;
需要添加androidpermissionSET_TIME_ZONE权限。
通过setTimeZone(String tz)方法设置时区;
获得经纬度后就相应的得到时间了!好像是我们项目就是用的这个时间。。。时间是unix的计算方法,就是1970年1月1日0点0分0秒到现在的秒数,用new Date(locationgetTime())就得到当前时间了,不过你得根据你的特殊情况进行判断计算了,可以再找找详细的资料,祝你好运~
1、Calendar
Calendar c = CalendargetInstance();
取得系统日期:year = cget(CalendarYEAR)
month = cgrt(CalendarMONTH)
day = cget(CalendarDAY_OF_MONTH)
取得系统时间:hour = cget(CalendarHOUR_OF_DAY);
minute = cget(CalendarMINUTE)
2、new Date
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(SystemcurrentTimeMillis());//获取当前时间
String str = formatterformat(curDate);
可以指定时区的时间(待):
df=DateFormatgetDateTimeInstance(DateFormatFULL,DateFormatFULL,LocaleCHINA);
Systemoutprintln(dfformat(new Date()));
如何获取Android系统时间是24小时制还是12小时制
ContentResolver cv = thisgetContentResolver();
String strTimeFormat = androidproviderSettingsSystemgetString(cv,
androidproviderSettingsSystemTIME_12_24);
(strTimeFormatequals("24"))
{Logi("activity","24");}
3、new Time 获取24小时时间
Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。
tsetToNow(); // 取得系统时间。
int year = tyear;
int month = tmonth;
date = tmonthDay;
int hour = thour; // 0-23
int minute = tminute;
int second = tsecond;
以上就是关于android开发 怎么把秒转换成时间全部的内容,包括:android开发 怎么把秒转换成时间、Android定时的基本实现、android获取手机真实时间与时区,IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)