zoukankan      html  css  js  c++  java
  • java中的Date类

    一、Date类简介

    日期类主要包括Date类与Calendar类,这一节我们先介绍Date类, Date 表示特定的瞬间,精确到毫秒。Date类用于表示日期和时间,在计算机中的表示和我们现实世界使用差不多,但是还是有点区别的,而且还有中西文化之间的差异,所以在学习这个类之前,我们清楚Date类和现实世界之间对世界的之间的差异:

    • 年份由整数表示,但是Date类的年份由1900开始算,也就是Date类的年份为y,那么现实世界就是 y + 1900 表示。

    • 月份由从 0 至 11 的整数表示,也就是0 是一月、1 是二月等等;因此 11 是十二月。

    • 日期(一月中的某天)按通常方式由整数 1 至 31 表示,这点和现实世界一致。

    • 小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点,这点和现实世界一致。

    • 分钟按通常方式由 0 至 59 的整数表示,这点和现实世界一致。

    • 秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。

    • Date可是精确到毫秒,Date的元毫秒从1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

    二、Date类常用方法

    在java中,日期时间用java.util.Date来表示,调用默认构造器Data(),将会创建一个当前系统时间的Date对象,时间精确到毫秒。Date类常用方法是:

    Date()

    分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

    boolean after(Date when)

    测试此日期是否在指定日期之后。

    boolean before(Date when)

    测试此日期是否在指定日期之前。

    int compareTo(Date anotherDate)

    比较两个日期的顺序。

    其它的还有很多获得年月日时分秒的函数,但是这些方法都已经过期,这些方法都已经Calendar.get(...)方法替代了,当然虽然过期了,但是还是可以使用的。示例代码如下:

    public class DateStu {
        public static void main(String[] args) {
            // 获得操作系统的当前时间
            Date date = new Date();
            Date date2=new Date(1997,6,7);
            System.out.println(date.before(date2));
            
            //如果date2大于date返回 1  等于返回 0  小于 -1
            System.out.println(date2.compareTo(date));
            //
            System.out.println("年:" + (date.getYear()+1900) + ",月:" + (date.getMonth()+1)
                    + ",日:" + date.getDate() + ",星期:" + date.getDay() + ",时:"
                    + date.getHours() + ",分:" + date.getMinutes() + ",秒:"
                    + date.getSeconds());
            
            System.out.println("现在的毫秒:"+date.getTime()/1000);
            
            System.out.println(date.toString());
            
            System.out.println(date.toLocaleString());//本地时间格式
    
        }
    
    }

    程序输出如下:

    true

    1

    年:2014,月:2,日:20,星期:4,时:23,分:3,秒:5

    现在的毫秒:1392908585

    三、时间的格式化显示

    各系统在显示时间的格式是不统一的,在中国一般采用英式日期,如“2013-02-02 17:30:24”的格式,而在美国时间的显示则为“月-日-年”的格式“02-02-2013 17:30:24”。要想格式化时间或者把字符串转换为Date类,可以使用java.text.Dateformat抽象类规定日期格式化的操作,具体常用的实现是java.text.SimpleDateformat类。

    示例代码如下:

    //1990年  9 月 4 日
    //"yyyy.MM.dd G 'at' HH:mm:ss z"  2001.07.04 AD at 12:08:56 PDT  
    //HH 24 小时,hh 12小时
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd");
    String dateFromt= sdf.format(date);//日期转换为字符串
    System.out.println(dateFromt);
            
    //把字符串转换为日期
    String inputdateFString="2013年09月8";
    try {
        Date inputDate=sdf.parse(inputdateFString);
        System.out.println(inputDate);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    程序输出如下:

    Thu Feb 20 23:03:05 CST 2014

    2014-2-20 23:03:05

  • 相关阅读:
    资源积累二
    给页面减减肥!
    需求决定设计,设计来源于需求
    项目经理是这样当的
    项目经理之我思员工能动性
    实现性能目标的几种方法
    大项目中项目经理的作用(转自csdn)
    atlas学习实践系列之三(远程web services调用)
    窥视设计模式之组合模式(composite)
    FredCK.FCKeditorV2和vs2005中RequiredFieldValidator配合使用的问题
  • 原文地址:https://www.cnblogs.com/weibanggang/p/11184808.html
Copyright © 2011-2022 走看看