在当前时间添加一定的时间并写入

jac*_*kal 11 time android add

我正在使用:

Calendar c = Calendar.getInstance();
Run Code Online (Sandbox Code Playgroud)

我得到一个当前时间,

String sHour = c.get(Calendar.HOUR_OF_DAY)
String sMinute = c.get(Calendar.MINUTE)
Run Code Online (Sandbox Code Playgroud)

我需要的是添加例如1小时10分钟 - 将其存储在一个变量中,并将Substract表示为10分钟并将其另存为另一个变量.(我需要在a中使用它们TextView)

add();在Android文档中看到了这个方法,但我似乎无法理解它是如何工作的.谢谢

Jon*_*eet 31

您发布的代码将无法编译,因为Calendar.get()不会返回字符串.您还应该注意日历是可变的 - 它不像每次调用都会add返回一个新日历.因此,每次需要为不同的值使用单独的变量时,您都需要创建一个实例.例如:

Calendar now = Calendar.getInstance();

Calendar tmp = (Calendar) now.clone();
tmp.add(Calendar.HOUR_OF_DAY, 1);
tmp.add(Calendar.MINUTE, 10);
Calendar nowPlus70Minutes = tmp;

tmp = (Calendar) now.clone();
tmp.add(Calendar.MINUTE, -10);
Calendar nowMinus10Minutes = tmp;
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我强烈建议您使用Joda Time而不是Calendar/Date - 这是一个非常优秀的API.但是,您可能希望修剪其中包含的时区,以便在启动时更快,并且可以减少apk中的开销.


Inc*_*App 5

您可以简单地致电System.currentTimeMillis() + INTERVAL

其中INTERVAL是间隔(以毫秒为单位)(例如:

public static final long INTERVAL = 1000 * 60 * 60 * 24; // 1 day
Run Code Online (Sandbox Code Playgroud)