1、获取当前时间戳
可使用Calendar类(java.util.Calendar)来获取时间戳
可使用 Calendar.add() 方法,来获取当前时间戳几天前/几天后的时间戳
import java.util.Calendar;
Calendar cal = Calendar.getInstance();
cal.getTimeInMillis(); //获取当前时间戳
//下面的方法可以跨月或者跨年使用
//当前时间加 30 天,然后获取 30 天之后的时间戳
cal.add(Calendar.DAY_OF_MONTH,30);
cal.getTimeInMillis();
//当前时间减 30 天,然后获取 30 天之前的时间戳
cal.add(Calendar.DAY_OF_MONTH,-30);
cal.getTimeInMillis();
//当前时间减 1 周(7天),然后获取 1 周之前的时间戳
cal.add(Calendar.WEEK_OF_MONTH,-1);
cal.getTimeInMillis();
//当前时间减 1 个月,然后获取 1 个月之前的时间戳
cal.add(Calendar.MONTH,-1);
cal.getTimeInMillis();
//当前时间减 1 年,然后获取 1 年之前的时间戳
cal.add(Calendar.YEAR,-1);
cal.getTimeInMillis();
2、将时间戳转换为日期格式
可使用 Calendar.getTime() 方法,来获取日期格式的当前时间,默认格式如下:
Thu Jun 15 18:41:18 CST 2023
格式化:可使用 Date(java.util.Date) 获取当前日期后,使用 SimpleDateFormat(java.text.SimpleDateFormat)进行格式化
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
Calendar cal = Calendar.getInstance();
//用date对象获取日期
Date date = cal.getTime();
//格式化日期格式
String formatDate = new SimpleDateFormat("YYYY-MM-dd HH-mm-ss").format(date);
3、获取本周一0点的时间戳
import java.util.Calendar;
Calendar cal = Calendar.getInstance();
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
4、Calendar的一些get、set方法
待补充