根据TimerDialogPicker选择时间:
final Calendar calendar = CalendargetInstance();
TimePickerDialog a = new TimePickerDialog(
this,new OnTimeSetListener(){
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
SettingsSystemputInt(getContentResolver(), "start_time", hourOfDay60+minute);
}},
calendarget(CalendarHOUR_OF_DAY),
calendarget(CalendarMINUTE),
DateFormatis24HourFormat(thisgetBaseContext()));
ashow();
TimePickerDialog b = new TimePickerDialog(
this,new OnTimeSetListener(){
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
SettingsSystemputInt(getContentResolver(), "end_time", hourOfDay60+minute);
}},
calendarget(CalendarHOUR_OF_DAY),
calendarget(CalendarMINUTE),
DateFormatis24HourFormat(thisgetBaseContext()));
bshow();
获取系统当前的时间。下面的文章希望能帮到您。
在一些系统调用中需要指定时间是用CLOCK_MONOTONIC还是CLOCK_REALTIME,以前总是搞不太清楚它们之间的差别,现在终于有所理解了。
CLOCK_MONOTONIC是monotonic time,而CLOCK_REALTIME是wall time。
monotonic time字面意思是单调时间,实际上它指的是系统启动以后流逝的时间,这是由变量jiffies来记录的。系统每次启动时jiffies初始化为0,每来一个timer interrupt,jiffies加1,也就是说它代表系统启动后流逝的tick数。jiffies一定是单调递增的,因为时间不够逆嘛!
wall time字面意思是挂钟时间,实际上就是指的是现实的时间,这是由变量xtime来记录的。系统每次启动时将CMOS上的RTC时间读入xtime,这个值是"自1970-01-01起经历的秒数、本秒中经历的纳秒数",每来一个timer interrupt,也需要去更新xtime。
以前我一直想不明白,既然每个timer interrupt,jiffies和xtime都要更新,那么不都是单调递增的吗?那它们之间使用时有什么区别呢?昨天看到一篇文章,终于明白了,wall time不一定是单调递增的。因为wall time是指现实中的实际时间,如果系统要与网络中某个节点时间同步、或者由系统管理员觉得这个wall time与现实时间不一致,有可能任意的改变这个wall time。最简单的例子是,我们用户可以去任意修改系统时间,这个被修改的时间应该就是wall time,即xtime,它甚至可以被写入RTC而永久保存。一些应用软件可能就是用到了这个wall time,比如以前用vmware workstation,一启动提示试用期已过,但是只要把系统时间调整一下提前一年,再启动就不会有提示了,这很可能就是因为它启动时用gettimeofday去读wall time,然后判断是否过期,只要将wall time改一下,就可以欺骗过去了。
以上就是关于怎么用 android实现间隔10s获取一次当前时间全部的内容,包括:怎么用 android实现间隔10s获取一次当前时间、android有个获取时间的函数:systemTime(SYSTEM_TIME_MONOTONIC);我想知道SYSTEM_TIME_MONOTONIC什么意思、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)