• Date、DateFormat、SimpleDateFormat、Calendar


    package com.Date;
    
    import java.util.Date;
    
    /*
     * Date 表示特定的瞬间,精确到毫秒
     * JDK1.0开始
     * 构造方法(常用的方法,过时的不管):
     *     Date() 分配Date对象并初始化此对象,表示分配它的时间,相当于new Date(System.currentTime())
     *     Date(long date) 创建并初始化date对象,表示从1970年1月1日00:00:00 GMT开始后的date毫秒的时间
     * 常用方法:
     *     boolean after(Date when) 测试此日期是否在指定日期之后 此日期>when,返回true
     *  Boolean before(Date when)
     *  Object clone() 克隆
     *  long getTime() 返回毫秒值表示
     *  void setTime(long time) 设置此Date对象
     *  toString() Date对象转换成 dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)这种格式
     *  
     *  从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。
     */
    public class Study01 {
        public static void main(String[] args) {
            /*
             * year和year2得到的结果是不同的,那是因为Integer的范围所导致的1000*60*60*24*365的值超出了范围
             */
            Date d=new Date();
            long tim=d.getTime();
            long year= 1970+(tim/(1000*60*60*24)/365);
            //long year2= 1970+(tim/(1000*60*60*24*365));
            System.out.println(year);
            d.setTime(1000000);
            System.out.println(d);
            //System.out.println(year2);
            /*System.out.println(1000*60*60*24);
            System.out.println(1000*60*60*24*365);
            System.out.println(1471228928/86400000);
            System.out.println(Integer.MAX_VALUE);*/
        }
        
    
    }
    View Code
    package com.DateFormat;
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.util.Date;
    
    /*
     * DateFormat 日期时间格式化子类的抽象类
     * 抽象类无法直接使用,所以必须使用它的实例
     * 
     *方法:
     *    获取日期格式器
     *        static getDateInstance() 获取默认日期格式器
     *        static getDateInstance(int style,int timeStyle)
     *        getTimeZone() 获取时区
     *    解析字符串生成Date
     *        parse(String source) 解析指定字符串,生成一个日期
     *    将date转化为String
     *        format(Date date) 将一个Date格式华为日期/时间字符串
     *
     */
    public class Study01 {
        public static void main(String[] args) {
            String s="2013-07-02";
            try {
            Date d=    DateFormat.getDateInstance().parse(s);
            System.out.println(d);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            Date d=new Date();
            String s1=DateFormat.getDateInstance().format(d);
            System.out.println(s1);
        }
    }
    View Code
    package com.SimpleDateFormat;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Study01 {
        public static void main(String[] args) {
            String pattern="yyyy-MM-dd";
            SimpleDateFormat sdf=new SimpleDateFormat();
            sdf.applyPattern(pattern);
            Date d=new Date();
            String s=sdf.format(d);
            System.out.println(s);
        }
    }
    /*
     * SimpleDateFormat是DateFormat的子类,打破了DateFormat的日期模式只能是几种的特点
     * 构造方法:
     *     SimpleDateFormat() 使用默认的模式和默认语言环境构造SimpleDateFormat。一般如果使用的是默认的,就使用Format的getInstance()比较好
     *  SimpleDateFormat(String pattern)使用自定义的模式和默认语言环境构造SimpleDateFormat
     *  public SimpleDateFormat(String pattern, Locale locale)
     *  
     * 一些方法:
     *         String toPattern()返回此日期格式的模式字符串
     *         String toLocalizedPattern() 返回描述次日起的本地化模式字符串
     *         applyPattern(String pattern) 将给定模式字符串应用于此事件模式
     *         format和parse都是继承父类的。                   
     */
    View Code
    package com.Calendar;
    
    import java.util.Calendar;
    
    /*
     * Calendar: Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法
     *
     * public int get(int field) 返回给定字段的值。日历中的每个日历字段都是静态的成员变量,并且是int类型
     */
    public class CalendarDemo {
        public static void main(String[] args) {
            Calendar rightNow=Calendar.getInstance();
            
            int year=rightNow.get(Calendar.YEAR);
            int month=rightNow.get(Calendar.MONTH);//month下标是从0开始的
            int day=rightNow.get(Calendar.DATE);
            
            System.out.println(year+"年"+(month+1)+"月"+day+"日");
        }
    }
    
    
    package com.Calendar;
    
    import java.util.Calendar;
    
    /*
     * 获取Calendar对象,使用Calendar.getInstance()。得到的默认时间为今天
     * 
     * 设置Calendar当前时间值:
     *     setTime(Date date)
     *     setTimeInMillis(long millis)
     *     set(int field, int value) 将给定的日历字段设置为给定值。 
     *  set(int year, int month, int date)  设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。
     *  add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量    正表示增,负表示减         
     * 返回Calendar的Date表示
     *     Date getTime()
     */
    public class CaldndarDemo2 {
        public static void main(String[] args) {
            Calendar c=Calendar.getInstance();
            c.set(2013, 3, 7);
            int year=c.get(Calendar.YEAR);
            int month=c.get(Calendar.MONTH);//month下标是从0开始的
            int day=c.get(Calendar.DATE);    
            System.out.println(year+"年"+(month+1)+"月"+day+"日");
            
            c.add(Calendar.YEAR, 5);
            c.add(Calendar.DAY_OF_MONTH,-3);
            year=c.get(Calendar.YEAR);
            month=c.get(Calendar.MONTH);//month下标是从0开始的
            day=c.get(Calendar.DATE);    
            System.out.println(year+"年"+(month+1)+"月"+day+"日");
        }
    }
    View Code
  • 相关阅读:
    Linux学习笔记六----------文件传输
    Linux学习笔记五----------文本编辑
    Linux学习笔记四----------远程连接和SSH
    Linux学习笔记三----------Linux进阶知识和命令
    Linux学习笔记二----------Linux基础知识和命令
    ArcGIS API for JavaScript3.16 使用中遇到的问题,及解决方法
    ArcGIS API for JavaScript学习
    echarts容器动态变化高度
    好用的流程图js插件
    jeecg-boot + ant-design-vue开发,希望点击菜单打开新窗口页签
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/5565933.html
Copyright © 2020-2023  润新知