关于Date和Calendar类的基础用法

2016-02-19 16:25 8 1 收藏

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

【 tulaoshi.com - 编程语言 】

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

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

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

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

  Date date = new Date();

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

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

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

  Date date = new Date();

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

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

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

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

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

  Date date = new Date();

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

  DateFormat dateFm = DateFormat.getDateTimeInstance(DateFormat.SHORT,

  DateFormat.SHORT);

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

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

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

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

  GregorianCalendar cal = new GregorianCalendar();

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

  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类的应用做了个大概的讲述,比较粗略,都是比较基础的,希望高手们讲解点其他的高级用途,谢谢。

来源:http://www.tulaoshi.com/n/20160219/1612043.html

延伸阅读
现代医学研究表明:茵陈不仅具有极高的药用价值,还富含维生素C和维生素B,并含有人体所需的多种微量元素和20余种氨基酸,具有很好的益身保健功能。在春天这个茵陈盛产的季节里,多食用茵陈亦能起到很好的防病保健的作用,这里介绍几款茵陈食用法,供大家参考。 凉拌茵陈 茵陈蒿嫩茎叶250g,白糖、麻油各适量。将茵陈去杂洗净,入沸水锅...
《使命召唤系列》手雷基础用法 我看到攻略秘籍上很少有人提到手雷这个好东东,我就来说说。在此声明高手看了觉得小儿科的话请勿鄙视,新手看了觉得有用的话, 一定要回复哦! 我想在这里说的不占成新手一进游戏就迫不及待的用,好了回到正题。 中间那个十字, 就是那个会闪的, 那个的意思是手雷爆炸的时间。 一共会闪4下在闪...
乳液的正确使用方法 洁面过后,先用化妆水进行二次清洁,并涂抹精华,待精华吸收后,取适量乳液,用指腹的力量涂抹。哪里最干就先涂抹哪里,从两颊,到嘴角两侧、上下颚等,之后再涂全脸,让干燥的部位得到双重滋润。涂抹乳液要加上按摩的动作,才更有利于皮肤的吸收。按摩要从脸的中央部位向外做轻轻的按摩推开,直至被皮肤完全...
标签: Web开发
用法: div id="test" span style="color:red"test1/span test2 /div 在JS中可以使用: test.innerHTML: 也就是从对象的起始位置到终止位置的全部内容,包括Html标签。 上例中的test.innerHTML的值也就是span style="color:red"test1/span test2 。 test.innerText: 从起始位置到终止位...
冬凌草是一种疗效显著的中药材,主要用于消炎止痛和活血抗癌的目的。但是很多人对于冬凌草并不是很了解,今天就由图老师小编为大家详细的介绍一下冬凌草的相关知识,一定会让大家收获很多的哦。 目录 1.冬凌草的基本介绍 2.冬凌草的功效和作用 3.冬凌草的药用价值 4.冬凌草的临床应用 5.孕妇能吃冬凌草吗 6.冬凌...

经验教程

510

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部