• Java学习笔记22(Date类、DateFormat类)


    Date,时间和日期类,这里讲util包中的而不是sql包中的

    Date:表示特定的时间瞬间,精确到毫秒(1000毫秒=1秒)

    时间和日期的操作都基于毫秒值

    时间原点:1970年1月1日,0时0分0秒,对应毫秒值为0

    得到当前时间的毫秒值:

    public class DateDemo {
        public static void main(String[] args) {
            long l = System.currentTimeMillis();
            //获取当前日期的毫秒值
            System.out.println(l);
            //1515639742854
        }
    }

    Date类的构造方法:

    package demo;
    
    import java.util.Date;
    
    public class DateDemo {
        public static void main(String[] args) {
            function1();
            function2();
        }
        public static void function1(){
            Date date = new Date();
            System.out.println(date);
            //输出:Thu Jan 11 11:09:41 CST 2018
        }
        public static void function2(){
            Date date = new Date(123456);
            System.out.println(date);
            //输出:Thu Jan 01 08:02:03 CST 1970
        }
    }

    Date类的方法:

    package demo;
    
    import java.util.Date;
    
    public class DateDemo {
        public static void main(String[] args) {
            function1();
            function2();
        }
        public static void function1(){
            //日期转毫秒
            Date date = new Date();
            long time = date.getTime();
            System.out.println(time);
            //1515642454307
        }
        public static void function2(){
            //毫秒转日期
            Date date = new Date();
            System.out.println(date);
            //Thu Jan 11 11:47:34 CST 2018
            
            date.setTime(123123);
            System.out.println(date);
            //Thu Jan 01 08:02:03 CST 1970
        }
    }

    我们发现Date类得到的日期格式不是我们所习惯的,

    所以这里有一个DateFormat类提供格式化日期功能:

    DateFormat是一个抽象类,主要使用它的子类SimpleDateFormat类

    示例:

    package demo;
    
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    //对日期格式化
    public class SimpleDateFormatDemo {
        public static void main(String[] args) {
            function();
        }
        
        public static void function(){
            DateFormat date = new SimpleDateFormat("yyyy年MM月dd日HH点mm分钟ss秒");
            String date1 = date.format(new Date());
            System.out.println(date1);
            //输出:2018年01月11日12点01分钟30秒
        }
    }

    还可以将字符串转换成日期:

    示例:

    package demo;
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    //对日期格式化
    public class SimpleDateFormatDemo {
        public static void main(String[] args) throws ParseException {
            function();
        }
    
        public static void function() throws ParseException {
            // 这里有异常,后面介绍
            DateFormat date1 = new SimpleDateFormat("yyyy-MM-dd");
            // 必须是标准格式的字符串
            Date date2 = date1.parse("2017-11-25");
            System.out.println(date2);
            // 输出:Sat Nov 25 00:00:00 CST 2017
        }
    }

    在实际开发中,不会让用户自行输入日期,因为存在格式错误的风险

    通常做一个日期控件供用户选择,而不是让用户输入

  • 相关阅读:
    ESP8266 A0的使用
    电脑总是被乱装各种软件怎么办?那就设置一个密码吧!
    笔记本光驱位改装固态系统硬盘教程
    任务管理器无法呼出
    Python stomp 介绍与代码
    Power(x,y)
    旋转图像
    字符串相乘
    缺失的正数
    外观数列
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/8267414.html
Copyright © 2020-2023  润新知