/** * 獲取前一個月的日期 * * @return 前一個月的日期 */ public static String getTodayBeforeMonth() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date currentTime = new Date();// 獲得當前系統時間 long now = currentTime.getTime();// 返回自 1970 年 1 月 1 日 00:00:00 GMT // 以來此Date 對象表示毫秒數 currentTime = new Date(now - 86400000 * 24); long now1 = currentTime.getTime(); currentTime = new Date(now1 - 86400000 * 6); String current = formatter.format(currentTime); return current; } public static void main(String[] args) { System.out.println(DateUtil.getTodayBeforeMonth()); }
// 剛纔那種方式因爲擔憂int溢出問題,因此採用了兩次相乘,還能夠用以下方法 結果是同樣的 獲取 /** * 前一個月的日期 * @return 前一個月的日期 */ public static String getTodayBeforeMonth() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date currentTime = new Date();// 獲得當前系統時間 long now = currentTime.getTime();// 返回自 1970 年 1 月 1 日 00:00:00 GMT // 以來此Date 對象表示毫秒數 long dayOfMillisecond = 86400000;// 一天的毫秒數 long monthOfDay = 30; currentTime = new Date(now - dayOfMillisecond * monthOfDay); String current = formatter.format(currentTime); return current; } public static void main(String[] args) { System.out.println(DateUtil.getTodayBeforeMonth()); }