第一部分 Calendar介绍
Calendar 定义:

1

publicabstract class Calendar implementsSerializable, Cloneable, Comparable<Calendar> {}

Calendar 可以看作是一个抽象类。
它的实现,采用了设计模式中的工厂方法。表现在:当我们获取Calendar实例时,Calendar会根据传入的参数来返回相应的Calendar对象。获取Calendar实例,有以下两种方式:
(1) 当我们通过 Calendar.getInstance() 获取日历时,默认的是返回的一个GregorianCalendar对象。
     GregorianCalendar是Calendar的一个实现类,它提供了世界上大多数国家/地区使用的标准日历系统。
(2) 当我们通过 Calendar.getInstance(TimeZone timezone, Locale locale) 或 Calendar.getInstance(TimeZone timezone) 或 Calendar.getInstance(Locale locale)获取日历时,是返回“对应时区(zone) 或 地区(local)等所使用的日历”。 
     例如,若是日本,则返回JapaneseImperialCalendar对象。
参考如下代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

publicstatic Calendar getInstance()

{

 // 调用createCalendar()创建日历

 Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault());

 cal.sharedZone = true;

 returncal;

}

publicstatic Calendar getInstance(TimeZone zone)

{

 // 调用createCalendar()创建日历

 returncreateCalendar(zone, Locale.getDefault());

}

publicstatic Calendar getInstance(Locale aLocale) {

 // 调用createCalendar()创建日历

 Calendar cal = createCalendar(TimeZone.getDefaultRef(), aLocale);

 cal.sharedZone = true;

 returncal;

}

publicstatic Calendar getInstance(TimeZone zone,

   Locale aLocale)

{

 // 调用createCalendar()创建日历

 returncreateCalendar(zone, aLocale);

}

privatestatic Calendar createCalendar(TimeZone zone,

   Locale aLocale)

{

 // (01) 若地区是“th”,则返回BuddhistCalendar对象

 // (02) 若地区是“JP”,则返回JapaneseImperialCalendar对象

 if("th".equals(aLocale.getLanguage())

 && ("TH".equals(aLocale.getCountry()))) {

 returnnew sun.util.BuddhistCalendar(zone, aLocale);

 }elseif ("JP".equals(aLocale.getVariant())

 &&"JP".equals(aLocale.getCountry())

 &&"ja".equals(aLocale.getLanguage())) {

 returnnew JapaneseImperialCalendar(zone, aLocale);

 }

 // (03) 否则,返回GregorianCalendar对象

 returnnew GregorianCalendar(zone, aLocale);

}

当我们获取Calendar实例之后,就可以通过Calendar提供的一些列方法来操作日历。

 

第一部分Calendar介绍相关推荐

  1. 第一部分 Calendar介绍

    第一部分 Calendar介绍 Calendar 定义: public abstract class Calendar implements Serializable, Cloneable, Comp ...

  2. Redis入门第一篇【介绍、安装】

    tags: Redis title: Redis入门第一篇[介绍.安装] 为什么要用Redis 我对Redis的简单理解:Redis相信学JavaEE的同学都听过这个名词,它是一个缓存数据库. Red ...

  3. Base64系列第一篇 Base64介绍

    本文地址:http://blog.csdn.net/morewindows/article/details/11871429转载请标明出处,谢谢. 欢迎关注微博:http://weibo.com/Mo ...

  4. 网易云课堂Web安全工程师课程分享——第一章 Web介绍

    第一节 Web介绍 课程回顾: Web是什么? Web发展分为哪几个阶段? Web安全问题发展形势? Web的工作流程? 浏览器是如何工作的? 总结回答: Web指的是World Wide Web,平 ...

  5. GraphQL实战-第一篇-GraphQL介绍

    GraphQL实战-第一篇-GraphQL介绍 GraphQL的前世今生 Facebook的业务线有移动端,PC端和其它端,不同的场景下对一个资源所需要的信息是不同的.如移动端需要User的a.b.c ...

  6. 第一章网络介绍计算题及其解析[计算机网络]

    总结一下计算机网络学期课程所学,方便以后的复习和补充.       本文主要是第一章网络介绍计算题部分.需要掌握的知识点如下图.       需要手写记录的笔记pdf和课本pdf可私信. 文章目录 第 ...

  7. 乐行学院RabbitMQ学习教程 第一章 RabbitMQ介绍(可供技术选型时使用)

    乐行学院RabbitMQ学习教程 第一章 RabbitMQ介绍 RabbitMQ介绍 1.RabbitMQ技术简介 2.RabbitMQ其他扩展插件 2.1监控工具rabbitmq-managemen ...

  8. 循环神经网络教程-第一部分 RNN介绍

    循环神经网络教程-第一部分 RNN介绍 循环神经网络(RNN)是非常流行的模型,它在许多NLP任务上都表现出了巨大的潜力.虽然它很流行,但是详细介绍RNN以及如何实现RNN的文章却很少.这篇教程旨在解 ...

  9. 医学数字影像和通讯(DICOM)---DICOM标准3.0 第一部分:介绍和概述

    前言 ACR(美国放射学会)和NAMA(国家电子制造商协会)组成了一个联合委员会来开发一个医学数字成像和通讯的标准----DICOM.这个标准按照NEMA的程序制定. 这个标准通过与其他标准化组织的交 ...

最新文章

  1. 扔掉Swagger,试试这款功能强大,零注解侵入的API接口文档生成工具!
  2. 有关计算机辅助教学方面的问题,浅析高校计算机辅助教学应用的有关问题
  3. Mac修改系统用户名好方法(文件无丢失)
  4. 作为一个软件开发公司如何让自己的技术落地应用产生价值呢?
  5. poj3280 Cheapest Palindrome(回文串区间dp)
  6. Java 中的 SPI 机制是到底是什么?高级 Java 必须掌握!
  7. 使用lombok注解,在代码编写过程中可以调用到get/set方法,但在编译的时候报错找不到get/set方法
  8. 工业机器人 郝卫东_基于S3C2410的视觉巡线机器人系统设计
  9. 大一第一学期c语言考试题及答案,大一c语言试题及答案.doc
  10. SHA 加密是什么( sha1 和 MD5 的区别 )
  11. 产品营销|一套方法教你如何策划一场成功的产品营销推广活动
  12. python面向对象实例王者荣耀_大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者...
  13. Robot framework模拟打开浏览器问题
  14. 美通企业日报 | 茅台在海外市场供不应求;默克广东创新中心将正式投入使用...
  15. 用计算机来打字学猫叫,电脑打字轻松技巧 怎么联系快速打字
  16. 基于html5的数据可视化实现方法研究,基于HTML5的数据可视化实现方法研究
  17. 语音转换主要涉及技术记录
  18. 揭秘闲鱼赚钱项目的高端玩法
  19. 第9课:jvm的gc时候核心参数详解:-XX:NewRatio、-XX:SurvivorRatio、-XX:NewSize、-XX:MaxNewSize
  20. VBScript之Windows 脚本宿主

热门文章

  1. 没有bug队——加贝——Python 43,44
  2. Python小白的数学建模课-B5. 新冠疫情 SEIR模型
  3. Python数模笔记-NetworkX(4)最小生成树
  4. linux看网络电影,Linux中看电影、听音乐
  5. python ansible模块_python学习-ansible简单使用1
  6. 负载均衡策略_常见的负载均衡策略
  7. 为什么服务器要选择 Linux,这里总结了 10 大理由
  8. Leedcode8-reorder-list
  9. ASP.NET AJAX (Atlas) 拖放(Drag Drop)功能6种实现方法总结
  10. python --动态类型