• 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
        }
    }

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

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

  • 相关阅读:
    Windows下NodeJS环境搭建
    大前端是什么?
    TeamCity+Rancher+Docker实现.Net Core项目DevOps(目前成本最小的DevOps实践)
    2019春运抢票终极攻略,让你躺着也能抢到票回家!
    ASP.NET CORE 2.0 发布到IIS,IIS如何设置环境变量来区分生产环境和测试环境
    使用第三方容器服务,自动化部署.Net Core
    记React+.NetCore API实现动态列导出
    6.前端基于react,后端基于.net core2.0的开发之路(6) 服务端渲染(SSR)
    5.前端基于react,后端基于.net core2.0的开发之路(5) 配置node层,session设置、获取,请求拦截
    4.前端基于react,后端基于.net core2.0的开发之路(4) 前端打包,编译,路由,模型,服务
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/8267414.html
Copyright © 2020-2023  润新知