我有一个变量获取当前时间并存储很长时间。但我必须将其转换为int,因为这是要求。所以我在做的是转换val(int)并存储在int中。铸造长到int
Val = 1355399741522 (long)
Int Val = -1809346991 (after casting to int)
After Casting from int to long -> Val = -1809346991 //TESTED
现在我的问题是,如果我想再次将此int转换回长,肯定它不会为我工作。 我已经测试过了。但我想要这个替代解决方案。
注 - 我不想存储很长时间。作为它的要求。而我使用下面的函数长转换时间
public static String convertToTime(final long date) {
String time = null;
final SimpleDateFormat bartDateFormat1 = new SimpleDateFormat("HH");
final SimpleDateFormat bartDateFormat2 = new SimpleDateFormat("mm");
final Date fomDat = new Date(date);
final int hour = Integer.parseInt(bartDateFormat1.format(fomDat));
final int min = Integer.parseInt(bartDateFormat2.format(fomDat));
time = pad(hour) + ":" + pad(min);
return time;
}
如果任何人有任何想法,请您指导我,或提供任何替代。
拆分'长'并将其存储在两个'int's和concat他们恢复? :|不知道你在努力达到什么... – amit
'1355399741522'不能存储在一个int,因为它太大(它大于Integer.MAX_VALUE)。你试图达到的目标并不明确...... – assylias
你的号码太大而无法存储在int中。它似乎是从这个时代(1970年)算起的毫秒数。如果你除以1000,你会得到自1970年以来的秒数,这可以存储在一个int(至少到2038年,它将溢出)。秒分辨率适合你吗? – nos