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%injava "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开始。

原文地址:https://www.cnblogs.com/nayitian/p/14901955.html