Calendar中的Calendar的add方法将整数作为输入
int secs = 3; cal.add(Calendar.SECOND, secs);
但是如果秒是Long类型怎么办呢.
long secs = 3
有很多可能性,例如添加秒迭代,但其他选项有哪些?
如果存储的值long sec
小于或等于,则Integer.MAX_VALUE
可以转换为int
:
cal.add(Calendar.SECOND, (int) sec));
如果值小于或等于Long.MAX_VALUE / 1000
那么您可以将秒转换为毫秒并使用不同的方法:
cal.setTimeInMillis(cal.getTimeInMillis() + (sec*1000));
如果秒的长值不是太大而不适合整数,则强制转换.
long secs = 3; cal.add(Calendar.SECOND, (int) secs);
但我强烈建议你使用joda时间而不是java calendar API.