Java Date和Int類型之間的轉換是Java開發人員在日常編程中常遇到的問題。Java中的Date類型表示一個日期和時間值,而Int類型則表示一個整數值。在一些業務場景下,需要將Date類型轉換為Int類型進行計算,或將Int類型轉換為Date類型以供業務使用。
在Java中,Date類型與毫秒數之間可以進行直接轉換。Java Date類型的getTime()方法可以返回一個long值,表示自1970年1月1日00:00:00 GMT以來,該日期對象的毫秒數。因此,可以通過將Date類型的毫秒數轉換為Int來實現Date到Int類型的轉換。通過Java的intValue()方法可以將long類型的毫秒數轉換為Int類型:
Date date = new Date(); int intDate = (int) (date.getTime() / 1000);
上述代碼會將當前日期時間轉換為Int類型,并將毫秒數除以1000來獲取秒數。可以根據具體需求進行調整,例如將毫秒數除以60000來獲取分鐘數,除以3600000獲取小時數。
而對于Int類型到Date類型的轉換,Java提供了一個構造方法,可以將毫秒數轉換為Date類型的日期時間值。只需將Int類型的秒數乘以1000得到毫秒數,再通過該構造方法即可:
int intDate = 1616515200; Date date = new Date(intDate * 1000L);
此處需要注意的是,需要將Int類型的秒數乘以1000轉換為毫秒數,并通過L后綴表示長整型。這樣一來,Int類型的秒數即可轉換為對應的Date類型的日期時間值。