Java重温学习笔记,日期时间

Posted 那些年的事儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java重温学习笔记,日期时间相关的知识,希望对你有一定的参考价值。

一、java.util 包提供了Date 类来封装当前的日期和时间,Date 类提供两个构造函数来实例化 :Date( )Date(long millisec)。两个比较好用的方法:boolean after(Date date)boolean before(Date date)。Date类的getTime() 方法,返回的是自1970年1月1日至当前Date的毫秒数。

二、java.text 包提供SimpleDateFormat 类,它是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 提供format()方法,允许自定义格式化日期;提供parse()方法,可以将自定义字符串转换为日期。

1. 示范代码:

import java.util.Date;
import java.text.SimpleDateFormat;
  
public class MyDemo {
   public static void main(String args[]) {
       Date myDate = new Date();
        
       // 使用 toString() 函数显示日期时间
       System.out.println(myDate.toString());
       System.out.println(myDate.getTime());
       
       SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
       System.out.println("当前时间为: " + sdf.format(myDate));
   }
}

输出如下:

%JAVA_HOME%\\bin\\java "MyDemo" ...
Sat Jun 19 06:52:25 CST 2021
1624056745192
当前时间为: 2021-06-19 06:52:25

2. 日期和时间的格式化编码参考下图(也可以在JDK的API文档中获得):

 

 

三、java.util 包提供Calendar类,它可以对日期进行复杂的操作,比如加减。简单来说,它的功能比Date强大得多,如果需要获得日期的年、月、日等属性,建议使用Calendar。Calendar类是一个抽象类,需要使用getInstance方法创建。

import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
  
public class MyDemo {
   public static void main(String args[]) {
        Calendar myCalen = Calendar.getInstance();
        int year = myCalen.get(Calendar.YEAR);
        int month = myCalen.get(Calendar.MONTH) + 1;
        int date = myCalen.get(Calendar.DATE);
        int hour = myCalen.get(Calendar.HOUR_OF_DAY);
        int minute = myCalen.get(Calendar.MINUTE);
        int second = myCalen.get(Calendar.SECOND);
        int day = myCalen.get(Calendar.DAY_OF_WEEK);
        
        myCalen.set(Calendar.YEAR,2008); // 年份设置为2008年
        myCalen.add(Calendar.DATE,-10); // 日期减去10
    }
}

 注意:Calender的月份是从0开始,日期和年份是从1开始。

以上是关于Java重温学习笔记,日期时间的主要内容,如果未能解决你的问题,请参考以下文章

Java重温学习笔记,关于数组

Java重温学习笔记,Java8新特性:Java Lambda 表达式

学习笔记:python3,代码片段(2017)

Java重温学习笔记,迭代枚举元素

Java重温学习笔记,关于泛型

Java重温学习笔记,Java8新特性:函数式接口