一、獲取當前時間
在Android中,我們可以使用系統類Calendar來獲取當前系統時間。代碼如下:
Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; //注意月份需要加1 int day = calendar.get(Calendar.DAY_OF_MONTH); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); String currentTime = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
上述代碼中,我們通過Calendar.getInstance()獲取當前的Calendar實例,然後使用get()方法獲取各個時間字段,並把它們拼接成一個字符串。需要注意的是,月份需要加1,時間格式可以根據需求自己定義。
除了使用Calendar類獲取時間,我們還可以使用System.currentTimeMillis()方法獲取當前時間的毫秒數。代碼如下:
long currentTimeMillis = System.currentTimeMillis();
上述代碼中,我們直接調用System.currentTimeMillis()方法即可獲取當前時間的毫秒數,精確到毫秒。
二、時間格式轉換
有時候我們需要把時間轉換成特定的格式,這時可以使用SimpleDateFormat類。代碼如下:
Calendar calendar = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formatTime = sdf.format(calendar.getTime());
上述代碼中,我們先獲取Calendar實例,然後創建一個SimpleDateFormat對象,指定需要轉換成的格式。最後調用sdf.format()方法,把Calendar對象轉換成字符串。
三、獲取未來或過去的時間
在Android中,我們可以使用Calendar類獲取未來或過去的時間。代碼如下:
Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, 1); //獲取明天的時間 calendar.add(Calendar.MONTH, -1); //獲取一個月前的時間 Date date = calendar.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = sdf.format(date);
上述代碼中,我們使用add()方法來獲取未來或過去的時間,當向後移動時間時,可以使用正數,向前移動時間時,可以使用負數。我們通過轉換後的日期對象,創建一個SimpleDateFormat實例,然後把日期格式化成字符串。
四、獲取時間戳
在Android中,我們可以使用System.currentTimeMillis()方法來獲取時間戳。代碼如下:
long timestamp = System.currentTimeMillis();
上述代碼中,我們直接調用System.currentTimeMillis()方法即可獲取當前時間的時間戳,以毫秒為單位。
五、獲取指定時區的時間
在Android中,我們可以使用SimpleDateFormat類來獲取指定時區的時間。代碼如下:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.setTimeZone(TimeZone.getTimeZone("GMT+8")); //設置時區為東八區 String time = sdf.format(new Date());
上述代碼中,我們創建了一個SimpleDateFormat實例,指定時間格式。然後使用setTimeZone()方法設置時區,最後把Date對象轉換成字符串。
六、獲取日期差值
在Android中,我們可以使用Calendar類來計算日期差值。代碼如下:
Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.set(2021, 10, 1); c2.set(2021, 10, 15); long diff = (c2.getTimeInMillis() - c1.getTimeInMillis()) / (1000 * 60 * 60 * 24);
上述代碼中,我們創建了兩個Calendar實例,分別表示兩個日期,然後通過getTimeInMillis()方法獲取時間戳,計算出兩個日期之間的毫秒數差值。最後把毫秒數差值轉換成天數。
原創文章,作者:ZMZW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/143763.html