2 momo1199 Momo1199 于 2012.12.13 11:01 提问

用户输入时间和系统输入时间不一样

获取用户输入时间和日期:

DatePicker dp = (DatePicker) findViewById(R.id.datePicker);
TimePicker tp = (TimePicker) findViewById(R.id.timePicker);

int year = dp.getYear();
int month = dp.getMonth();
int date = dp.getDayOfMonth();
int hour = tp.getCurrentHour();
int min = tp.getCurrentMinute();

系统当前时间:

Calendar cal = Calendar.getInstance();

int Syear = cal.get(Calendar.YEAR);
int Smonth = cal.get(Calendar.MONTH);
int Sdate = cal.get(Calendar.DAY_OF_MONTH);
int Shour = cal.get(Calendar.HOUR_OF_DAY);
int Smin = cal.get(Calendar.MINUTE);

假如用户与系统当前时间不同,怎么样得到这个时间差?日期、小时、分、秒或者毫秒。谢谢

2个回答

cytown
cytown   2012.12.13 12:00
已采纳

两个calendar当然可以做diff了,只要获得calendar.gettimeinmillis,然后互相减,就可以得到毫秒数,剩下的自己转换。

Momo1199
Momo1199 谢谢
大约 5 年之前 回复
redCoral_
redCoral_   2012.12.13 13:20

根据楼上的,获得毫秒之差:

Calendar a = Calendar.getInstance();
Calendar now = Calendar.getInstance();
a.set(year, month, day, hour, min);
long difference = a.getTimeInMillis()-now.getTimeInMillis();
Momo1199
Momo1199 谢谢你提供的代码
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!