******dateformat format = new ******dateformat(pattern);獲取的是當前裝置的預設時區(如北京時間東八區),
而format.parse(strtime).gettime();獲取strtime的long時間,會把strtime當做是東八區再轉化為世界時間(utc)再計算出毫秒數。
如:pattern為:hh:mm格式,strtime:01:06。
而世界時間(utc)的1970-01-01 00:00:00的毫秒數為0,此時將01:06預設補上1970-01-01即1970-01-01 01:06視為東八區時間,再轉
utc時間變成1969-12-31 17:06來計算,則得出的結果是負數。
解決方法:
/*** 根據世界時間的毫秒數轉化為pattern格式的string時間
* @param pattern
* @param utctimemillis 世界時間的毫秒數
* @return
*/public static string formatbyutctimemillis(string pattern,long utctimemillis)
catch (exception e)
}return null;
}/**
* 根據世界時間的string時間轉化為世界時間的毫秒數時間
* @param pattern strtime的日期格式
* @param utcstrtime 世界時間的pattern格式string時間
* @return
*/public static long formatbyutcstrtime(string pattern,string utcstrtime)
catch (exception e)
}return 0;
}
long數值 轉換為時間
專案中,伺服器端經常給客戶端開發人員傳乙個長整形的時間資料,對於乙個 長整形 1446801883000,可以明顯的看出 是以毫秒為單位的,因為最後有三個零,如果沒有連續3個零的話就要判斷單位了 那麼怎麼將其轉換為時間呢 步驟 1 長整形數字以字串的形式轉換為long long time long....
IP轉換成LONG 的 問題
如何將四個欄位以點分開的ip網路址協議位址轉換成整數呢?php裡有這麼乙個函式ip2long.比如 echo ip2long 10.2.1.3 我們將得到 167903491 這是如何計算的,目前我知道有兩個演算法。其一 function ip2int ip 其二,用位運算 function ip2...
long與int型別轉換
由int型別bai轉換為long型別是du向上轉換,可以直接進行隱zhi式轉換,但由long型別dao轉換為int型別是向下轉zhuan換,可能會出現數shu據溢位情況 主要以下幾種轉換方法,供參考 一 強制型別轉換 long ll 300000 int ii int ll 二 呼叫intvalue...