時間轉換Long的問題

2021-09-02 13:52:41 字數 946 閱讀 4639

******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...