java常用类:时间类
-
Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Calendar类中的方法取代
-
时间单位
-
-
1毫秒=1000微秒
-
1微秒=1000纳秒
-
public static void main(String[] args) {
Date date = new Date();
//已经被弃用但还可以使用,打印今天的日期
System.out.println(date.toLocaleString());
//打印昨天的日期,一天的时间乘以1000毫秒
Date date1 = new Date(date.getTime()-(60*60*24*1000));
System.out.println(date1.toLocaleString());
}
Calendar类
-
Calendar提供了获取或设置各种日历字段的方法
-
构造方法
-
protected Calendar():由于修饰符是protected,所以无法直接创建该对象
-
public static void main(String[] args) {
//由于Calendar构造方法是protected,所以创建对象时调用它的静态方法
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
//获取年份
int year=calendar.get(Calendar.YEAR);
//月份 0-11而不是1-12
int month=calendar.get(Calendar.MONTH);
//日
int day=calendar.get(Calendar.DAY_OF_MONTH);
//小时
int hour=calendar.get(Calendar.HOUR_OF_DAY);//hour12小时,HOUR_OF_DAY24小时
//分钟
int minute=calendar.get(Calendar.MINUTE);
//秒
int second = calendar.get(Calendar.SECOND);
System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒");
}
SimpleDateFormat类
-
SimpleDateFormat是一个以语言环境有关的方式来格式化和解析日期的具体类。
-
进行格式化(日期->文本)、解析(文本->日期)
-
常用的时间模式字母
| 字母 | 日期或时间 | 示例 |
|---|---|---|
| y | 年 | 2019 |
| M | 年中月份 | 08 |
| d | 月中天数 | 10 |
| H | 1天中小时数(0-23) | 22 |
| m | 分钟 | 16 |
| s | 秒 | 59 |
| S | 毫秒 | 367 |
public static void main(String[] args) throws Exception{
//创建SimpleDateFormat对象,格式自己定义,后续改动都得保持格式一致性
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
//创建Date
Date date = new Date();
//格式化date,用字符串接收
String str=sdf.format(date);
System.out.println(str);
//解析(把字符串转成日期)
Date date1=sdf.parse("2018-09-08 23-24-24");
System.out.println(date1.toLocaleString());
}

浙公网安备 33010602011771号