编程知识 cdmana.com

java Date类的简单使用

1. java.util.Date类

1.1 构造方法

    1. 第一个构造函数使用当前日期和时间来初始化对象。

      Date( )

    1. 第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。

      Date(long millisec)

    1.2 方法

    序号 方法和描述
    1 boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。
    2 boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。
    3 Object clone( ) 返回此对象的副本。
    4 int compareTo(Date date) 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。
    5 int compareTo(Object obj) 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。
    6 boolean equals(Object date) 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。
    7 long getTime( ) 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
    8 int hashCode( ) 返回此对象的哈希码值。
    9 void setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。
    10 String toString( ) 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

    2. java.text.SimpleDateFormat

    SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化

    2.1 构造方法

    1. SimpleDateFormat()
      用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
    2. SimpleDateFormat(String pattern)
      用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
    3. SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
      用给定的模式和日期符号构造 SimpleDateFormat。
    4. SimpleDateFormat(String pattern, Locale locale)
      用给定的模式和给定语言环境的默认日期格式符号构造 SimpleDateFormat。

    2.2 方法

    返回类型 方法
    void applyLocalizedPattern(String pattern) 将给定的本地化模式字符串应用于此日期格式。
    void applyPattern(String pattern) 将给定模式字符串应用于此日期格式。
    Object clone() 创建此 SimpleDateFormat 的一个副本。
    boolean equals(Object obj) 比较给定对象与此 SimpleDateFormat 的相等性。
    StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos) 将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer。
    AttributedCharacterIterator formatToCharacterIterator(Object obj) 格式化生成 AttributedCharacterIterator 的对象。
    Date get2DigitYearStart() 返回在 100 年周期内被解释的两位数字年份的开始日期。
    DateFormatSymbols getDateFormatSymbols() 获取此日期格式的日期和时间格式符号的一个副本。
    int hashCode() 返回此 SimpleDateFormat 对象的哈希码值。
    Date parse(String text, ParsePosition pos) 解析字符串的文本,生成 Date。
    void set2DigitYearStart(Date startDate) 设置 100 年周期的两位数年份,该年份将被解释为从用户指定的日期开始。
    void setDateFormatSymbols(DateFormatSymbols newFormatSymbols) 设置此日期格式的日期和时间格式符号。
    String toLocalizedPattern() 返回描述此日期格式的本地化模式字符串。
    String toPattern() 返回描述此日期格式的模式字符串。

    2.3 日期时间模式

    字母 日期或时间元素 表示 示例
    G Era 标志符 Text AD
    y Year 1996; 96
    M 年中的月份 Month July; Jul; 07
    w 年中的周数 Number 27
    W 月份中的周数 Number 2
    D 年中的天数 Number 189
    d 月份中的天数 Number 10
    F 月份中的星期 Number 2
    E 星期中的天数 Text Tuesday; Tue
    a Am/pm 标记 Text PM
    H 一天中的小时数(0-23) Number 0
    k 一天中的小时数(1-24) Number 24
    K am/pm 中的小时数(0-11) Number 0
    h am/pm 中的小时数(1-12) Number 12
    m 小时中的分钟数 Number 30
    s 分钟中的秒数 Number 55
    S 毫秒数 Number 978
    z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
    Z 时区 RFC 822 time zone -800

    3. 简单代码示例

    3.1 demo代码

    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Main {
    
        public static void main(String[] args) {
            Date date = new Date();
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
            String s = format.format(date);
    
            System.out.println("格式化日期:"+s);
    
        }
    }

    3.2 打印结果

    格式化日期:2020-12-10 15:17:48

    4. 总结

    java8以后貌似推荐使用LocalDate

    版权声明
    本文为[氷落]所创,转载请带上原文链接,感谢
    https://segmentfault.com/a/1190000038440230

    Scroll to Top