我有一個變量獲取當前時間並存儲很長時間。但我必須將其轉換爲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