• 菜鸡的Java笔记 日期操作类


    日期操作类
            Date 类与 long 数据类型的转换
            SimpleDateFormat 类的使用
            Calendar 类的使用
            
            如果要想取得当前的日期时间,直接实例化 java.util.Date; 类即可取得
            

    package cn.mysterious.study3;
    
    import java.util.Date;
    
    public class DateClass {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Date date = new Date();
            System.out.println(date);
        }
    
    }
    /*
        结果:
        Tue Sep 05 23:23:11 CST 2017
    */

               
            虽然 Date 类的对象可以取得当前的日期时间,但是结果是这个日期时间的可读性不合适中国人
            一直强调,日期时间 = long 数据内容。这一点在 Date 两类上有很好的体现
                构造方法: public Date(long date)
                将 Date 以 long 型返回: public long getTime()
                
            范例:实现转换

    package cn.mysterious.study3;
    
    import java.util.Date;
    
    public class DateClass {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Date date = new Date(); // Date 类对象
            long num = date.getTime(); // 将 Date 以 long 型返回
            System.out.println(num);
        }
    
    }

               
                在实际的使用过程之中,很少会出现这样的转换,但是至少你的头脑中应该清楚,long 和 Date 可以互相转换

        
        日期格式化: SimpleDateFormat (核心,背)
            Date 虽然可以直接进行日期时间的取得,但是大部分情况下这样的日期时间取得并不好用,因为它给出日期时间格式我们很多人看不懂
            所以在java中考虑到了日期的显式格式要求。那么往往最终都会按照 String进行显式
            如果要想实现这样的格式化操作,可以使用 java.text.SimpleDateFormat 类完成,在这个类有以下几个方法:
                构造方法: public SimpleDateFormat(String pattern)
                    格式化标记:年(yyyy)月(MM)日(dd)时(HH)分(mm)秒(ss)毫秒(SS)
                将日期格式化为字符串: public final String format(Date date)
                将字符串变为日期时间: public Date parse(String source) throws ParseException
            
            范例:就爱那个日期格式化为字符串

    package cn.mysterious.study3;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateClass {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Date date = new Date(); // Date 类对象
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
            String str = sdf.format(date); // 将日期格式化为字符串
            System.out.println(str);
        }
    
    }

               
            范例:将字符串变为日期时间

    package cn.mysterious.study3;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateClass {
    
        public static void main(String[] args) throws Exception {
            // TODO Auto-generated method stub
            String str = "1997-10-01 00:00:00.001";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
            Date date = sdf.parse(str); // 将字符串变为日期
            System.out.println(date);
        }
    
    }

               
            总结:现在为止 String,基本类型,Date 已经实现了彻底的转换贯通
                String 变为基本类型:包装类
                基本类型变为 String : String vallueOf();
                Date 与 String 转换: SimpleDateFormat

        Calendar 类
            Calendar 主要的功能是可以进行日期时间的拼凑使用。 Calendar 本身是一个抽象类
            但是现在可以直接利用这个抽象类中提供的 static 方法进行实例化对象的取得:
                public static Calendar getInstance()
            随后可以利用 Calendar 类中的一个方法取得指定的日期时间数据:
                public int get(int field)
            但是在使用此方法的时候需要使用一些特定的常量
            
            范例:取得当前的日期时间

    package cn.mysterious.study3;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class DateClass {
    
        public static void main(String[] args) throws Exception {
            // TODO Auto-generated method stub
            Calendar cal = Calendar.getInstance(); // 取得 Calendar 类的实例化对象
            StringBuffer buf = new StringBuffer();
            buf.append(cal.get(Calendar.YEAR)).append("年");
            buf.append(cal.get(Calendar.MONTH) + 1).append("月"); // 它是从0月开始计算的 所以+1
            buf.append(cal.get(Calendar.DAY_OF_MONTH)).append("日");
            buf.append(cal.get(Calendar.HOUR_OF_DAY)).append("时");
            buf.append(cal.get(Calendar.MINUTE)).append("分");
            buf.append(cal.get(Calendar.SECOND)).append("秒");
            buf.append(cal.get(Calendar.MILLISECOND)).append("毫秒");
            System.out.println(buf);
        }
    
    }

               
                使用 Calendar 的好处是可以方便的计算出日期或时间之间的间隔

        总结:
            java.util.Date; 代表的就是日期时间
            SimpleDateFormat 可以实现字符串与日期间的转换操作



  • 相关阅读:
    函数参数
    文件操作
    is,数据类型补充,set,深浅拷贝
    is,==区别,编码转换
    列表,元祖,range
    字典,解构
    编码,基础数据类型 int str bool,for循环
    while循环,格式化输出,运算符
    java7中使用透明时与输入法冲突
    TC SRM 597 DEV2
  • 原文地址:https://www.cnblogs.com/mysterious-killer/p/10123966.html
Copyright © 2020-2023  润新知