1. Date
定义:代表的是日期和时间。
构造方法
构造方法 | 说明 |
public Date() | 创建一个Date对象,代表的是系统当前此刻日期时间。 |
public Date(long time) | 获取计算机原点时间+参数(Long 毫秒)的时间 (计算机原点时间: 1970-1-1 00:00:00 中国地区 1970-1-1 08:00:00) |
常用方法
常用方法 | 说明 |
getTime() | 返回从1970年1月1日00:00:00走到此刻的总的毫秒数 |
setTime(long time) | 设置日期对象的时间为当前时间毫秒值对应的时间 |
getYear() (已过时但能用) | 获取年份(从1900年到现在) |
getDate() (已过时但能用) | 获取此刻是本月的第多少天 |
getDay() (已过时但能用) | 获取此刻是本周的第几天 |
getMonth() (已过时但能用) | 获取月份,输出的值 = 当前月份-1 |
getHours() (已过时但能用) | 获取此刻的小时 |
getMinutes() (已过时但能用) | 获取此刻的分钟 |
getSeconds() (已过时但能用) | 获取此刻的秒数 |
2. SimpleDateFormat
定义:代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成我们想要的形式
常用构造方法
常见构方法 | 说明 |
public SimpleDateFormat(String pattern) | 创建简单日期格式化对象,并封装时间的格式 |
常用格式化时间的方法
常用格式化时间的方法 | 说明 |
public final String format(Date date) | 将日期格式化成日期/时间字符串 |
public final String format(Object time) | 将时间毫秒值式化成日期/时间字符串 |
时间格式的常见符号
- y 年
- M 月
- d 日
- H 时
- m 分
- s 秒
- EEE 星期几
- a 上午/下午
- 例如:
- 2024-3-12 13:27:06 ------------- yyyy-MM-dd HH:mm:ss
- 2024-3-12 13:27:06 ------------- yyyy年MM月dd日 HH:mm:ss
public static void main(String[] args) throws ParseException {
Date date = new Date();
//格式化时间需要的对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//把时间转化成String
String format = sdf.format(date);
System.out.println(format);
String str = "1990-05-20 12:12:12";
Date date2 = sdf.parse(str);
System.out.println(date2);
}
3. Calendar
- 代表的是系统此刻时间对应的日历。
- 通过它可以单独获取、修改时间中的年、月、日、时、分、秒等。
Calendar常用方法
方法名 | 说明 |
getInstance() | 获取当前日历对象 |
get(int field) | 获取日历中的某个信息 |
getTime() | 获取日期对象。 |
getTimeInMillis() | 获取时间毫秒值 |
set(int field,int value) | 修改日历的某个信息。 |
add(int field,int amount | 为某个信息增加/减少指定的值 |
注意:calendar是可变对象,一旦修改后其对象本身表示的时间将产生变化。
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int i = calendar.get(Calendar.YEAR);
System.out.println(i);
int i1 = calendar.get(Calendar.MONTH);
System.out.println(i1+1);
int i2 = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(i2);
calendar.set(Calendar.YEAR,calendar.get(Calendar.YEAR)+10);
Date time = calendar.getTime();
System.out.println(time);
}
4. JDK8开始新增的日期、时间
- LocalDate:代表本地日期(年、月、日、星期)
- LocalTime:代表本地时间(时、分、秒、纳秒)
- LocalDateTime:代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒)
它们获取对象的方案
方法名 | 作用 | 示例 |
now( ) | 获取系统当前时间对应的该对象 | LocaDate ld =LocalDate.now(); |
LocalTime lt = LocalTime.now(); | ||
LocalDateTime ldt=LocalDateTime.now(); | ||
of(…) | 获取指定时间的对象 | LocalDate localDate1 = LocalDate.of(2099 , 11,11); |
LocalTime localTime1 = LocalTime.of(9, 8, 59); | ||
LocalDateTime localDateTime1 = LocalDateTime.of(2025, 11, 16, 14, 30, 01); |
LocalDate的常用方法
方法名 | 说明 |
geYear() | 获取此刻的年份 |
getMonthValue() | 获取此刻的月份(1-12) |
getDayOfMonth() | 获取日 |
getDayOfYear() | 获取日 |
getDayOfWeek() | 获取星期几:ld.getDayOfWeek().getValue() |
LocalTime的常用方法
方法名 | 说明 |
getHour() | 获取小时 |
getMinute() | 获取分 |
getSecond() | 获取秒 |
getNano() | 获取纳秒 |