java日期轉換隱式異常

2021-07-27 09:12:52 字數 930 閱讀 2263

最近在做專案的時候遇到這樣的乙個問題,目的是查出最近的乙個月的時間範圍,截止日期從庫中獲取的,開始日期在程式中計算得出,但是,當測試寫好的一段**時出現了問題。日期轉換之後反而比轉換之前的截止日期還靠後了。

******dateformat dateform = new ******dateformat("yyyy-mm-dd");

try catch (parseexception e)

這段**看起來沒什麼毛病,但是卻嚴重的存在錯誤。

其中count的定義這一行是主要問題的發生點。

count的列印結果:

-1702967296
為什麼會是負的?這裡是先轉為int型別的了,然後超出了整形的儲存長度,發生溢位。

所以導致了不降反增的情況。

當資料會超出整形的範圍時在資料後面加l使其直接轉為long型。

兩種比較建議的寫法:

******dateformat dateform = new ******dateformat("yyyy-mm-dd");

try catch (parseexception e)

date date = null;

try catch (parseexception e)

calendar calendar = calendar.getinstance();

calendar.settime(date);

calendar.add(calendar.month, -1);

date = calendar.gettime();

string begintime = dateform.format(date);

system.out.println(begintime);

}

mysql日期隱式轉換 mysql中的隱式轉換

什麼隱式型別轉換?在mysql中 當操作符與不同型別的運算元一起使用時,會發生型別轉換以使運算元相容。則會發生轉換隱式 也就是說,mysql會根據需要自動將數字轉換為字串,將字串轉換數字。看到這個概念之後,是不是有一種茅塞頓開的感覺。哦.原來在資料結構中telephone欄位為字串 varchar ...

scala 隱式轉換函式 隱式轉換引數

目前的scala相關部落格大概只能算乙個筆記,方便自己記錄,也幫大家查詢資訊了。首先scala中的隱式轉換可以分為隱式函式轉換與隱式引數轉換兩類,下面就來分別說一下自己對這兩種模式的理解。1 隱式函式轉換,我們先看一段 scala val x int 3.14 10 error type misma...

隱式轉換和隱式引數

1 隱式轉換 隱式轉換函式是以implicit關鍵字宣告的帶有單個引數的函式。這種函式將會自動應用,將值從一種型別轉換為另一種型別 object scala01 implicit def f1 d double int double 是輸入型別,int 是轉換後的型別 隱式函式的底層工作原理 def...