使用Java中的日期和日历类

  Java语言的日历(日历)、日期(日期)和日期格式(日期格式)组成了Java标准的一个基本但非常重要的部分。日期是商业逻辑计算的一个关键部分。所有的开发者都应该能够计算未来的日期,定制日期的显示格式,把文本数据解析成日期对象。我们写了两篇文章,这是第一篇,我们将大概的学习日期、日期格式、日期的解析和日期的计算。
  我们将讨论下面的类:
  具体类(和抽象类相对)java.util。Date
  抽象类java.text.DateFormat和它的一个具体子类,java.text.SimpleDateFormat
  抽象类java.util.Calendar和它的一个具体子类,java.util.GregorianCalendar
  具体类可以被实例化,但是抽象类类却不能。你首先实现类一个具体子子。
  日期类java(JDK)1.0就就开始,当时当时它了几个取得或者设置一一日期日期数据数据的的各各个个个部分部分,比如说比如说,比如说,日,日这些方法遭到批评并且已经已经被转移到转移到类里类里类里类里类里类里类里类里了类里类里了我们我们我们在在本本本文中中进一步讨论讨论。这种改进旨在更好的处理日期数据的国际化格式。就象在JDK 1.1中一样,Date类实际上只是一个包裹类,它包含的是一个长整型数据,表示从GMT(格林尼治标准时间)1970年,1月1日00:00:00这一刻之后毫秒毫秒
  毫秒
  。Java(JVM)主机主机主机环境环境的时间时间系统时间系统系统。
  导入java.util.Date;
  public类dateExample1{
  public static void main(string[]args){
  //获取系统日期/时间
  日期=new Date();
  system.out.println(date.getTime());
  }}
  }}
  ,2001年9月29日,6:50的,上面的,上面上面的在在在系统输出输出设备设备上设备设备的结果1001803809710。创建一个对象,该构造函数没有接受任何参数。而这个构造函数在内部使用了System.currentTimeMillis()方法来从系统获取日期。
  那么,现在我们已经知道了如何获取从1970年1月1日开始经历的几千个数字了。我们如何能一用户明白的格式显示这个日期?这里类java.text.SimpleDateFormat和它的抽象基类java.text.DateFormat就派得上用场了。
  日期数据的定制格式
  假设我们希望定制日期数据的格式,比方星期六-9月-29日-2001年。下面下面展示了完成这这:
  导入java.text.simpledateformat;
  导入java.util.Date;
  公共类DateExample2{
  公共静态void main(String[]args){
  SimpleDateFormat bartDateFormat=
  new SimpleDateFormat("EEEE-MMMM-dd-yyyy");
  日期日期=新日期();
  System.out.println(bartDateFormat.format(日期));
  }
  }
  只要通过向SimpleDateFormat的构造函数输入格式字符串“EEE-MMMM-dd-yyyy”,我们就能够指明自己想要的格式。你应该可以看到,格式字符串中的ASCII字符告诉格式化函数下面显示日期数据的哪一部分。EEEE是,mmmm是是,dd是是,yyyy是年。字符字符个数了是如何格式化格式化。sun web web站点站点站点获取格式化完整的的的
  的
  。文本日期数据创建一个日期对象。“mm-dd-yyy”调用simpledateFormat类,但是但是这,我们这一,我们我们使用化解析化解析不是是生成文本文本我们我们的,显示在下面在符串字符串字字字符串字字符串字字字字符串字字字并并并并为为为为为00173600000000000000000000的
  :
  import java.text.text.simpledateformat;
  导入java.util.Date;
  公共类dateExample3{
  public static void main(string[]args){
  //创建一个日期格式化器,该格式可以解析
  ////表单mm-dddy-yyyy的日期。
  SimpleDateFormat bartdateFormat=
  new SimpleDateFormat(“MM-DD-Yyyy”);
  //创建一个包含要解析的文本日期的字符串。
  try{
  //解析日期的文本版本。
  //我们必须在
  try-catch构造中执行parse方法,以防dateStringToParse
  //不包含我们期望的格式的日期。
  日期=bartdateformat.parse(datestringtoparse);
  //现在将解析的日期作为长值
  //发送到系统输出。
  System.out.println(date.getTime());
  }
  catch(exception ex){
  system.out.println(ex.getMessage());
  }}
  }