java时间函数及格式转换

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工具类库

DateUtil

类型转换工具类—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
发布了24 篇原创文章 · 获赞 1 · 访问量 2442

猜你喜欢

转载自blog.csdn.net/qq_35018214/article/details/102884412