关于Date和Calendar类的基础用法

▓埃菲尔铁塔

▓埃菲尔铁塔

2016-02-19 16:25

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享关于Date和Calendar类的基础用法教程,希望对大家能有一点小小的帮助。

  Date和Calendar是JAVA类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着很重要的地位,所以在这里想对这两个类进行一个基本的讲解,由于技术有限,不到之处请指正。

  Date类顾名思义,一看就知道是和日期有关的类了,这个类最主要的作用就是获得当前时间了,然而这个类里面也具有设置时间以及一些其他的功能,可是由于本身设计的问题,这些方法却遭到众多批评,而这些遭受批评的功能都已移植到另外一个类里面,这就是今天要讲到的第二个类Calendar里面。

  在讲两个类之前,这里又不能不多提一个类,那就是DateFormat类,这个类是用来格式化日期的,稍后也会讲到。

  首先,让我们来看一个获取当前时间的例子:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  Date date = new Date();

  System.out.println(date.getTime());

  由于本人比较懒,就写一些主要的语句就行了,上面的语句首先创建了Date的一个对象,接着使用getTime方法获得当前的时间,但是注意了,输出后的结果确实一串长整型的数字,这是为什么?实际上这是系统根据当前时间计算出来的一个long型的数,至于是如何计算出来的就不在本文中讲述了,那既然这样的话又如何显示正确的时间呢?这就要利用到上面的DateFormat类了,这个类是一个基类,它有一个子类是SimpleDateFormat,具体用法请看下面的代码:

  Date date = new Date();

  SimpleDateFormat dateFm = new SimpleDateFormat("EEEE-MMMM-dd-yyyy");

  System.out.println(dateFm.format(date));

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  这段代码开始创建了一个Date的对象,用来获取当前时间,而重点就在于后面的SimpleDateFormat对象,这个对继承了DateFormat,利用format方法对Date对象进行格式化,然后输出,而格式的定制是由用户定制的,EEEE代表星期,MMMM代表月份,而dd代表日,yyyy代表年。使用这个方法就可以根据用户自定义的格式进行输出时间。

  上面介绍了由用户自定义格式的输出时间,下面将来介绍通过JAVA类库提供的标准格式输出时间,这就要用到DateFormat类了,请看以下代码:

  Date date = new Date();

  DateFormat dateFm = DateFormat.getDateTimeInstance(DateFormat.SHORT,

  DateFormat.SHORT);

  System.out.println(dateFm.format(date));

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  这里使用的方法和用户自定义的方法差不多,只是这里使用的是一个抽象类,由于DateFormat是一个抽象类,所以它不能通过构造函数构造对象,在这里是通过getDateTimeInstance()方法获得该对象,而所传递的参数就是DateFormat里面定义的一些常量,系统根据这些常量输出当前时间,由于这里使用的是getDateTimeInstance方法,所以将传递两个常量参数,用来分别格式化日期和当前的时间。

  上面讲述了如何获得系统时间以及如何格式化输出,那如果想获取或者设置时间当中的某一部分又该如何呢?例如年,月,日。这就要靠Calendar这个类了,这个类也是一个抽象类,它有一个子类GregorianCalendar,接下来我会利用这个子类来演示这个过程,请看以下代码:

  DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);

  GregorianCalendar cal = new GregorianCalendar();

  cal.setTime(new Date());

  System.out.println("System Date: " + dateFormat.format(cal.getTime()));

  cal.set(GregorianCalendar.DAY_OF_WEEK,GregorianCalendar.FRIDAY);

  System.out.println("After Setting Day of Week to Friday: " +

  dateFormat.format(cal.getTime()));

  这段代码当中,首先创建了一个DateFormat对象进行格式设置,接着创建了一个GregorianCalendar对象cal,接着使用cal.setTime()方法设置cal对象中的时间为当前时间,然后通过format格式化由cal.getTime()返回的时间进行输出,后面利用set方法设置cal的日期为当前星期的FRIDAY,此时cal中存储的时间就是这个星期五的该时刻,而后面利用format格式化输出,假如当前时间为2005年1月27日星期4的11点30分,那么最后将那句将会输出2005年1月28日星期5的11点30分。

  以上对Date和Calendar类的应用做了个大概的讲述,比较粗略,都是比较基础的,希望高手们讲解点其他的高级用途,谢谢。

展开更多 50%)
分享

猜你喜欢

关于Date和Calendar类的基础用法

编程语言 网络编程
关于Date和Calendar类的基础用法

如何使用Java中的Date和Calendar类

编程语言 网络编程
如何使用Java中的Date和Calendar类

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

谨慎使用Date和Time类

编程语言 网络编程
谨慎使用Date和Time类

Ajax Calendar的另类用法

Web开发
Ajax Calendar的另类用法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java编程经验技巧 谨慎使用Date和Time类

编程语言 网络编程
Java编程经验技巧 谨慎使用Date和Time类

关于ControlJs的使用和基础讲解

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
关于ControlJs的使用和基础讲解

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

办公室秘笈:Win XP传真功能详解

办公室秘笈:Win XP传真功能详解

[JAVA100例]008、类的标识和访问控制

[JAVA100例]008、类的标识和访问控制
下拉加载更多内容 ↓