Java Date类详解

2年前 (2022) 程序员胖胖胖虎阿
165 0 0

🍅 Java学习路线配套文章:搬砖工逆袭Java架构师

🍅 Java经典面试题大全:10万字208道Java经典面试题总结(附答案)

🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪

🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

🍅 欢迎点赞 👍 收藏 ⭐留言 📝  

目录

一、Date类

1、创建一个当前时间的Date对象

2、获取Date中的信息

二、Calendar类

1、Calendar类简介

2、创建一个代表系统当前日期的Calendar对象

3、创建一个指定日期的Calendar对象

4、set设置

5、add

6、使用get获取时间

三、日期互转

1、Date与long

2、Calendar与long

3、Date与Calendar互转

4、String与Date互转

5、String与Calendar互转

四、哪吒社区


一、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);
}

Java Date类详解

 纳尼?

String转Date时,格式必须一致。

Java 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
}

上一篇:Java零基础入门 8:Java数组

下一篇:Java零基础入门 10:final和static

Java Date类详解

 添加微信,备注1024,赠送Java学习路线思维导图 

版权声明:程序员胖胖胖虎阿 发表于 2022年10月29日 上午1:08。
转载请注明:Java Date类详解 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...