我在我的应用中使用日历作为闹钟,但如果我使用日历,则timeInMillis错误。
我给你举个例子:
// Get Current Time
Calendar calNow = Calendar.getInstance();
calNow.setTimeInMillis(System.currentTimeMillis());
calNow.add(Calendar.HOUR, calNow.get(Calendar.HOUR_OF_DAY));
calNow.add(Calendar.MINUTE, calNow.get(Calendar.MINUTE));
long now = calNow.getTimeInMillis();
很长now
返回例如:1345848049917
now
必须与System.currentTimeMillis()
相同,但不是,system
返回1345846849921
now
在我的时区:25.08.2012 - 00:40:49
System.currentTimeMillis()
是:25.08.2012 - 00:20:49
整整20分钟后,为什么?
答案 0 :(得分:3)
我不太确定你要做什么,但这些行
calNow.add(Calendar.HOUR, calNow.get(Calendar.HOUR_OF_DAY));
calNow.add(Calendar.MINUTE, calNow.get(Calendar.MINUTE));
将当天的小时和分钟翻倍,将00:20:49
变为00:40:49
。