java获取系统当前日期时间
1、通过Date类获取
Date date = new Date();//date为当前系统时间,得到结果如:Sun Nov 03 17:13:33 CST 2019
date.getHours();//小时,值范围0-23
date.getDate();//月中的第几日
date.getDay();//星期几,值范围0-6
date.getMonth();//月
date.getYear();//年
date.getMinutes();//分
date.getSeconds();//秒
2、通过Calendar类获取
Calendar calendar = Calendar.getInstance();//实例化对象
Date time = calendar.getTime();//得到系统当前时间,返回类型为Date
int year = c.get(Calendar.YEAR); //年
int month = c.get(Calendar.MONTH); //月
int date = c.get(Calendar.DATE); //日
int hour = c.get(Calendar.HOUR_OF_DAY); //小时,24小时制
int halfHour = c.get(Calendar.HOUR); //小时,12小时制
int minute = c.get(Calendar.MINUTE); //分钟
int second = c.get(Calendar.SECOND); //秒
3、通过System类获取
long time = System.currentTimeMillis();//currentTimeMillis()为静态方法,通过类名直接调用,得到系统当前时间戳,返回类型为long。
4、Hutool 中封装的方法
DateTime testDate = new DateTime();//当前时间,DateTime继承自Date
Date date = DateUtil.date();//当前时间
Date date2 = DateUtil.date(Calendar.getInstance());//当前时间
Date date3 = DateUtil.date(System.currentTimeMillis());//当前时间
DateUtil.year(date);//获得月份,从0开始计数
DateUtil.month(date);//获得月份枚举
DateUtil.monthEnum(date);
5、通过LocalDateTime类获取
LocalDateTime dateTime = LocalDateTime.now();//2019-01-01T14:05:20.777
dateTime.getYear();//年
dateTime.getMonthValue();//月
dateTime.getDayOfMonth();//日
dateTime.getHour();//时
dateTime.getMinute();//分
dateTime.getSecond();//秒
6、通过Instant获取
Instant timestamp = Instant.now();//2019-01-01T06:15:22.581Z
Java 时间格式转换
java.text包
时间格式转换类SimpleDateFormat
SimpleDateFormat类继承自DateFormat类,DateFormat类为抽象类,继承自Format类。
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String changeDate = format.format(date);//Date类型转换成String类型
//编译时异常,要显示处理
try {
Date date1 = format.parse("2019-11-06 09:05:56");//String类型转换成Date类型
} catch (ParseException e) {
e.printStackTrace();
}
其中,SimpleDateFormat实例化参数的格式可自定义,且参数中对应的字母含义如下表所示。
字母 | 含义 |
---|---|
y | 年 |
M | 年中的第几月 |
w | 年中的第几周 |
W | 月份中的第几周 |
D | 年中的第几天 |
d | 月份中的第几天 |
F | 月份中的星期 |
E | 星期中的天数 |
h | am(中午)/pm(下午) 中的小时数(1-12) |
H | 一天中的小时数(0-23) |
k | 一天中的小时数(1-24) |
K | am(中午)/pm(下午) 中的小时数(0-11) |
m | 分钟 |
s | 秒 |
S | 毫秒 |
Hutool java工具类库
类型转换工具类—Convert
==Hutool 开发文档介绍中改工具类具备如下方法,但是源代码中不包含,故不能使用 ==
String a= "2019-1-1";
Date date = Convert.toDate(a);
时间日期工具—DateUtil
自动识别格式
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd
HH:mm:ss
yyyy-MM-dd HH:mm
yyyy-MM-dd HH:mm:ss.SSS
String dateStr = "2019-01-01";
Date date = DateUtil.parse(dateStr);//String转换为Date
String format = DateUtil.format(date, "yyyy/MM/dd");//Date类型转换成String类型
String formatDate = DateUtil.formatDate(date);//常用格式的格式化,结果:22019-01-01