• Date类和Calendar类


    Date和Calendar

    Calendar比Date拥有更加高级的操作, 底层源码比Date更加复杂

    Date类

    Date

    java.uril.Date java提供的日期的工具类, 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理

    构造方法

    常用无参构造进行创建对象 , 例如: Date date = new Date();

    常见方法

    对于日期的年月日, 时分秒 进行操作, 其中 带删除线的是已过时

    返回值 方法 说明
    int getYear() 获取从1900到现在多少年了
    int getDate() 获取今天是一个月中的第几天
    int getDay() 获取今天是一周中的第几天
    int getHours() 获取现在几点了(小时)
    int getMinutes() 获取现在是多少分
    int getMonth() 获取现在是当前月份-1(源码中月份是从0~11)
    int getSeconds() 获现在取多少秒
    int getTime() 获取1970年1月1日0点到现在的毫秒值
    String toLocaleString() 输出例如: 2020-5-16 11:50:18格式的日期时间

    Calendar类 (抽象类)

    Calendar

    java.util.Calendar Calendar(日历类) 是一个抽象类, 从JDK1.1版本开始,在处理日期和时间时,系统推荐使用Calendar类进行实现。在设计上,Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些.

    Calendar对象创建方式

    Calendar cal = Calendar.getInstance();

    输出cal会得到, 里面包含了好多信息, 比如年月日,时区等

    java.util.GregorianCalendar[time=1589690832737,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=29,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2020,MONTH=4,WEEK_OF_YEAR=21,WEEK_OF_MONTH=4,DAY_OF_MONTH=17,DAY_OF_YEAR=138,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=0,HOUR_OF_DAY=12,MINUTE=47,SECOND=12,MILLISECOND=737,ZONE_OFFSET=28800000,DST_OFFSET=0]
    

    常用方法

    返回值 方法 说明
    int get(int fieId) 参数fieId是Calendar里的静态属性,见fieId 常用的静态属性,
    可以获取年, 月, 日等信息
    Date getTime() 可以把Calendar转为Date对象
    void set(int field, int value)` 设置年月日, 时分秒等值

    fieId 常用的静态属性

    这些 属性都是静态属性,

    属性 说明
    YEAR 年, (四位数)
    MONTH 月,(0~11), 实际获取的是当前月份-1
    DAY_OF_MONTH ,当月的第几天(几号)
    DAY_OF_WEEK , 当前周的第几天 (周日为1, 周一为2, 依此类推, 最大为7)
    HOUR_OF_DAY , 一天中的第几个小时(最大24)
    MINUTE
    SECOND
    MILLISECOND 毫秒
    12个月单词全大写 分别代表12个月份 (0~11)

    用法实例:

    main方法中代码如下:

    Calendar cal = Calendar.getInstance(); // 获取Calendar对象
    System.out.println(cal.get(Calendar.YEAR));// 年
    System.out.println(cal.get(Calendar.MONTH));// 月(当前月份-1)
    System.out.println(cal.get(Calendar.DAY_OF_MONTH));// 日
    System.out.println(cal.get(Calendar.DAY_OF_WEEK)); // 周
    System.out.println(cal.get(Calendar.HOUR_OF_DAY)); // 时
    System.out.println(cal.get(Calendar.MINUTE)); // 分
    System.out.println(cal.get(Calendar.SECOND)); // 秒
    System.out.println(cal.get(Calendar.MILLISECOND)); // 毫秒
    
    cal.set(Calendar.YEAR, 2018);// 设置年
    cal.set(Calendar.MONTH, Calendar.FEBRUARY); // 设置月
    cal.set(Calendar.DAY_OF_MONTH, 15); // 设置日
    cal.set(Calendar.HOUR_OF_DAY, 23); // 设置小时
    cal.set(Calendar.MINUTE, 59); // 设置分
    cal.set(Calendar.SECOND, 59); // 设置秒
    System.out.println(cal.getTime()); // 转为Date类型显示
    
  • 相关阅读:
    asp.net 下载文件
    Asp.Net中用iframe解决模态窗口文件下载问题(转)
    如何获取网站的根目录(js或者asp.net)
    java中日期加减计算(转)
    网页颜色选择器
    信仰基督教的好处
    基因芯片数据字段
    独立分量分析(ICA)
    GenePix® Pro 文件格式
    OBO文件中的标签的含义/意思/意义
  • 原文地址:https://www.cnblogs.com/liqbk/p/12905186.html
Copyright © 2020-2023  润新知