java学习经历----常用日期类 Date及其解析

1 篇文章 0 订阅

下面的代码很长 但是列举了Date类和格式化输出的具体例子,由于有些转换字母很多,可以参照API查看,下面的代码都是可以2-4行分开看,没有连贯性,都是多个小例子

        Date date = new Date();
        long time = date.getTime();     //获得与1970年相差年数转换成毫秒
![这是一张printf方法关于格式化日期的字母截图,详情可查看API](http://img.blog.csdn.net/20160808204025835)
        System.out.printf("%tF %<tT %<tA" ,date);   //日期      时间       星期  “< ”表示继续使用前边的变量
        System.out.println(time/1000/60/60/24/365);    //显示当前时间与1970.1.1之间的相差时间  毫秒计算   转换成年

        String da = String.format("%tF", date);        //String类的format()方法实现格式化,获得格式化后的字符串
        System.out.println(da);



        //利用DateFormat是抽象类,无法通过new创建对象,但是可以利用静态方法获得,调用format()方法实现格式化。

        DateFormat df = DateFormat.getDateInstance();  //获取日期格式器
        String s = df.format(new Date());
        System.out.println(s);                     //显示效果为年-月-日     不带前置0



        df = DateFormat.getInstance();               // SHORT 风格的默认日期/时间格式器
        s = df.format(new Date());
        System.out.println(s);                   //年份简写,月,日不带前置0    12小时制时间 带上下午提示



        df = DateFormat.getDateTimeInstance();         //获取日期/日期格式器
        s = df.format(new Date());
        System.out.println(s);                      //输出无前置日期,24小时制时间



        df = DateFormat.getTimeInstance();            //获得时间格式器;
        s = df.format(new Date());
        System.out.println(s);                      //24小时制时间
        //基本上只有利用格式控制符,日期才带有前置0



        //将指定字符转换成Date对象,日期格式器
        String str = "2016-8-8";             
        Date date1 = DateFormat.getDateInstance().parse(str);  //获取日期格式器,解析文本的日期,给定的字符序列必须为 yyyy-mm-dd或yyyy-m-d;
        System.out.println(date1);



        //日期/时间格式器
        String str1 = "2016-8-9 17:25:26";
        Date date2 = DateFormat.getDateTimeInstance().parse(str1);   //时间日期格式器  序列  yyyy-m-d h:M:s
        System.out.println(date2);



    //short风格,时间/日期格式器
        String str2 = "2016-8-10 上午12:45";
        Date date3 = DateFormat.getInstance().parse(str2);       //格式  yyyy-m-d(有一个空格) (上午/下午)h:M  12小时制时间 也可以使 yy-m-d ...同前面
        System.out.println(date3);



        //时间格式器
        String str3 = "12:25:25";
        Date date4 = DateFormat.getTimeInstance().parse(str3);  //格式 h:M:s   24小时制时间
        System.out.println(date4);
        System.out.println("=======================================================================");



![SimpleDateFormat的介绍关于解析字符的列举](http://img.blog.csdn.net/20160808204715031)     
        //DateFormat 子类    SimpleDateFormat 测试         对比DateFormat  转换更灵活,每个字母都可以代表独立的转换

        SimpleDateFormat sdf = new SimpleDateFormat("我希望这样输出日期y-M-d h:m:s");
        String str4 = sdf.format(new Date());   
        System.out.println(str4);         //结果: 我希望这样输出日期2016-8-8 8:10:27   2个M和d只是多了前置的0 起到完整写法和简写的区别
                                            //例如2016-08-08  其他字母都是这样hh:mm:ss 就是08:10:27



    //求当天是当年中的第几天
        SimpleDateFormat sdf1 = new SimpleDateFormat("今天是一年中的第D天");
        String str5 = sdf1.format(new Date());
        System.out.println(str5);       //结果 : 今天是一年中的第221天  可以看到这个类解析日期更加灵活,怎么配置他就怎么解析

        System.out.println("=============================================================================");



    //将字符串还原成Date对象
        String str6 = "北京时间7月20日15点30分";
        SimpleDateFormat sdf2 = new SimpleDateFormat("北京时间M月d日H点mm分");
        Date d = sdf2.parse(str6);            //构造器中参数给的解析模式要求和给定字符序列相同,只是把要解析的地方用字母写出来
        System.out.println(d);               //结果:Mon Jul 20 15:30:00 CST 1970    

        String str7 = "7-20";              //7月20
        SimpleDateFormat sdf3 = new SimpleDateFormat("MM-dd");   //或M-d  MM-d都行
        Date d2 = sdf3.parse(str7);
        System.out.println(d2);
    } 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Date类是Java常用日期类,用于表示日期和时间。它提供了很多方法来获取和设置日期和时间,如获取年份、月份、日期、小时、分钟、秒等。同时,它还可以进行日期和时间的比较、格式化等操作。在Java中,Date类已经被废弃,建议使用java.time包中的类来代替。 ### 回答2: Date类是Java常用的类之一,它可以表示一个日期和时间。在Java.util包中,使用Date类创建一个日期对象,可以表示自1970年1月1日00:00:00 GMT以来的毫秒数。 Date类有两个构造方法,一个没有参数,另一个接受一个long类型的参数,这个参数是从1970年1月1日00:00:00 GMT开始计数的毫秒数。Date类的toString()方法返回格式化的日期时间字符串。 除了基本的构造函数和toString()方法,Date类还提供了许多实用的方法,如equals(),compareTo(),before()和after()等。这些方法可以帮助我们比较和判断两个日期的大小和顺序。 应用场景方面,Date类广泛用于日志记录、定时任务及数据存储等领域,而在开发中,日期和时间的处理和转换非常的常见。 最后,需要注意的是,Java 8之后,推荐使用新的java.time包来处理日期和时间。它提供了更多的方法和更好的性能,尤其是线程安全方面有明显的优势。因此,在新的开发中,建议使用java.time包来处理日期和时间。 ### 回答3: Java中的Date类是一个非常常用的日期时间操作类,它封装了表示日期和时间的特定瞬间的毫秒数。Date类提供了许多有用的方法来获取和格式化日期和时间信息,并且能够进行日期和时间的计算和比较。 具体来说,Date类提供了以下几个常用的方法: 1. getTime()方法:返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 2. toString()方法:将此 Date 转换为 String,格式为默认格式(例如:"Tue Aug 31 23:59:59 GMT+08:00 2021")。 3. after(Date when)方法:判断此 Date 对象是否在when之后。 4. before(Date when)方法:判断此 Date 对象是否在when之前。 5. equals(Object obj)方法:判断此 Date 对象是否与obj表示的对象相等。 6. compareTo(Date anotherDate)方法:将此 Date 与另一个 Date 进行比较。 7. setTime(long time)方法:设置此 Date 对象的时间,以表示自标准基准时间(称为“纪元”)以来指定的毫秒数。 另外,在使用Date类时也需要注意:Date类的大多数方法已经被废弃,因为它们不考虑区域设置,而且大多数方法都被Calendar类所替代,因此建议使用Calendar类来代替Date类。 总之,Java中的Date类是一个非常常用的日期时间操作类,在Java编程中使用频率也非常高。熟练掌握Date类的使用方法,有助于我们在Java编程中进行日期时间的处理和计算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值