Java零基础入门 9:Java Date类
Posted 哪 吒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java零基础入门 9:Java Date类相关的知识,希望对你有一定的参考价值。
🍅 Java学习路线配套文章:搬砖工逆袭Java架构师
🍅 Java经典面试题大全:10万字208道Java经典面试题总结(附答案)
🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪
🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步
🍅 欢迎点赞 👍 收藏 ⭐留言 📝
目录
一、Date类
1、创建一个当前时间的Date对象
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);//Sat Nov 06 18:31:32 CST 2021
}
2、获取Date中的信息
System.out.println(date.getTime());//1636194765887
二、Calendar类
1、Calendar类简介
Calendar类的功能要比Date类强大很多,可以方便的进行日期的计算,获取日期中的信息时考虑了时区等问题。而且在实现方式上也比Date类要复杂一些。
Calendar类是一个抽象类,由于Calendar类是抽象类,且Calendar类的构造方法是protected的,所以无法使用Calendar类的构造方法来创建对象,API中提供了getInstance方法用来创建对象。
2、创建一个代表系统当前日期的Calendar对象
Calendar calendar = Calendar.getInstance();//默认是当前日期
3、创建一个指定日期的Calendar对象
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2021, 5, 9);
System.out.println(calendar.getTime());//Wed Jun 09 18:36:09 CST 2021
}
4、set设置
(1)set设置
public final void set(int year,int month,int date)
(2)利用字段类型设置
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2021);
calendar.set(Calendar.MONTH,11);
calendar.set(Calendar.DAY_OF_MONTH,6);
System.out.println(calendar.getTime());//Mon Dec 06 18:39:22 CST 2021
}
Calendar类中用一下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想
Calendar.YEAR——年份
Calendar.MONTH——月份
Calendar.DATE——日期
Calendar.DAY_OF_MONTH——日期,和上面的字段意义相同
Calendar.HOUR——12小时制的小时
Calendar.HOUR_OF_DAY——24小时制的小时
Calendar.MINUTE——分钟
Calendar.SECOND——秒
Calendar.DAY_OF_WEEK——星期几
5、add
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2021);
calendar.set(Calendar.MONTH,11);
calendar.set(Calendar.DAY_OF_MONTH,6);
calendar.add(Calendar.DAY_OF_MONTH,2);
System.out.println(calendar.getTime());//Wed Dec 08 18:42:25 CST 2021
}
6、使用get获取时间
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2021);
calendar.set(Calendar.MONTH,11);
calendar.set(Calendar.DAY_OF_MONTH,6);
calendar.add(Calendar.DAY_OF_MONTH,2);
System.out.println(calendar.get(Calendar.YEAR));//2021
System.out.println(calendar.get(Calendar.MONTH));//11
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//8
}
三、日期互转
1、Date与long
public static void main(String[] args) {
Date date = new Date();
long time = date.getTime();
}
2、Calendar与long
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2021);
calendar.set(Calendar.MONTH,11);
calendar.set(Calendar.DAY_OF_MONTH,6);
calendar.add(Calendar.DAY_OF_MONTH,2);
long timeInMillis = calendar.getTimeInMillis();
}
3、Date与Calendar互转
(1)Date转Calendar
public static void main(String[] args) {
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
}
(1)Calendar转Date
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2021);
calendar.set(Calendar.MONTH,11);
calendar.set(Calendar.DAY_OF_MONTH,6);
calendar.add(Calendar.DAY_OF_MONTH,2);
Date time = calendar.getTime();
}
4、String与Date互转
(1)Date转String
public static void main(String[] args) {
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(new Date());
}
(2)String转Date
public static void main(String[] args) throws ParseException {
String str="20211106";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(str);
System.out.println(date);
}
纳尼?
String转Date时,格式必须一致。
5、String与Calendar互转
(1)Calendar 转化 String
public static void main(String[] args) throws ParseException {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str = sdf.format(calendar.getTime());
}
(2)String 转化Calendar
public static void main(String[] args) throws ParseException {
String str="2021-11-6";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
System.out.println(calendar.getTime());//Sat Nov 06 00:00:00 CST 2021
}
四、哪吒社区
Vue.js框架与Web前端开发从入门到精通
本次活动送书规则:
1、社区积分榜前5名,随机抽取一名幸运者
2、社区积分榜6-15名,随机抽取一名幸运者
3、社区积分榜16-30名,随机抽取一名幸运者
【赚取积分方式】哪吒社区内发帖、点赞、评论都可赢取积分!
🍅 社区入口:【打卡贴 day21】java函数式接口
下一篇:敬请期待
添加微信,备注1024,赠送Java学习路线思维导图
以上是关于Java零基础入门 9:Java Date类的主要内容,如果未能解决你的问题,请参考以下文章
179 01 Android 零基础入门 03 Java常用工具类02 Java包装类 03 包装类总结 01 Java中的包装类总结