zoukankan      html  css  js  c++  java
  • [javaSE笔记7]Date, DateFormat, Calendar类

    Date类

    java.util.Date

    Date表示特定的时间, 精确到毫秒

    时间原点 ( 0m ) : 1970年1月1日 00:00

    构造方法

    空参构造方法 : 获取当前系统的日期和时间

    Date date = new Date();
    

    带参数构造方法 :

    Date ( long date ) : 传递毫秒值, 把毫秒值转换为日期

    Date date = new Date(0);
    System.out.println(date);
    
    // 输出Thu Jan 01 08:00:00 CST 1970
    

    成员方法

    getTime()

    把日期转换为毫秒

    DateFormat类

    java.text.DateFormat类是日期/时间格式化子类的抽象类

    可以完成日期和文本之间的转换

    构造和成员方法

    String format(Date date) : 按照指定的模式把Date日期格式化为符合模式的字符串

    Date parse(String source) : 把符合模式的字符串解析为Date日期

    DateFormat类是一个抽象类, 无法直接创建对象使用, 可以使用DateFormat的子类 : java.text.SimpleDateFormat

    SimpleDateFormat的构造方法 :

    SimpleDateFormat(String pattern) : 用指定的模式和默认语言环境的日期格式符号构造SimpleDateFormat

    常用的格式规则 :

    字母 含义
    y
    M
    d
    H
    m
    s

    SimpleDateFormat的format和parse方法

    format :

    1. 创建SimpleDateFormat对象并在构造方法中传递指定的模式
    2. 使用format方法把Date转换为符合模式的字符串

    e.g.

    Date date =  new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String format = sdf.format(date);
    System.out.println(format);
    
    // 输出 : 2020-06-25 08:34:48
    

    parse :

    1. 创建SimpleDateFormat对象并在构造方法中传递指定的模式
    2. 使用parse方法把符合模式的字符串解析为Date日期

    注意 : parse方法声明了一ParseException解析异常, 如果字符串和构造方法中的模式不一样程序就会抛出此异常

    e.g.

            String text = "2020-06-25 08:34:48";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = sdf.parse(text);
            System.out.println(date);
            System.out.println(date.getTime());
    
    /* 输出 : 
    Thu Jun 25 08:34:48 CST 2020
    1593045288000
    */
    

    Calendar类

    Java.util.Calendar

    Calendar类是一个抽象类, 里面提供了很多操作日历字段的方法 ( YEAR, MONTH, DAY_OF_MONTH. HOUR ...)

    Calendar类无法直接创建对象使用, 里面有一个静态方法getInstance(), 该方法返回了Calendar类的子类对象

    Calendar类的常用成员方法

    1. public int get(int field) : 返回给定日历字段的值

    2. public void set(int field, int value) : 将给定日历字段设置为给定值

    3. public abstract void add(int field, int amount) : 根据日历的规则, 为给定的日历字段添加或减去指定的时间量

    4. public Date getTime() : 返回一个表示此Calendar时间值的Date对象

    其中的int field 是日历字段如YEAR, MONTH...可直接用Calendar.YEAR....获取

    • get的使用 :

    e.g.

            Calendar c = Calendar.getInstance();
            System.out.println(c.get(Calendar.YEAR)); // 2020
            System.out.println(c.get(Calendar.DATE)); // 25 
    
    • set和getTime的使用 :

    e.g.

     		Calendar c = Calendar.getInstance();
            c.set(2000,8,7);
            Date date = c.getTime();
    
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    
            System.out.println(sdf.format(date));
    
    // 2000-09-07
    
    • add的使用 :

    e.g.

            Calendar c = Calendar.getInstance();
            c.set(2000,8,7);
            c.add(Calendar.YEAR,-1); //2000 -- 1999
            Date date = c.getTime();
    
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    
            System.out.println(sdf.format(date));
    
    // 1999-09-07
    
  • 相关阅读:
    poj 2728 Desert King
    uva 439 Knight Moves
    hdu 1875 畅通工程再续
    scau实验题 8600 骑士周游问题(有障碍物)
    scau实验题 8596 Longest Ordered Subsequence
    poj 1679 The Unique MST
    uva 527 Oil Deposits
    poj 2533 Longest Ordered Subsequence
    .net 程序员 java 开发入门
    Collation conflict occur at operation on User define funtion & table's column
  • 原文地址:https://www.cnblogs.com/roccoshi/p/13191120.html
Copyright © 2011-2022 走看看