10月8日 星期天 晴
学习有关日期和时间的格式化、获取系统时间等几个类的使用,做了一个万年历,可后来发现这种方法不是很理想,其中有一个我就是用命令行参数输入年月,再用SimpleDateFormat和sdf.parse(String Stringdate)来生成一个Date实例,后来才发现Calendar 类有这样的set方法可以直接用,省了从String 转Date的较复杂过程.(Date中的很多set.get方法都已经过时了,都用Calendar中的方法替换了!)
* Java 语言的Calendar( 日历),Date( 日期), 和DateFormat( 日期
格式) 组成了Java 标准的一个基本但是非常重要的部分.
java.util.Date
* Date 类实际上只是一个包装类,
它包含的是一个长整型数据Long, 表示的是从
GMT(格林尼治标准时间)1970 年, 1 月1 日00:00:00
这一刻之前或者是之后经历的毫秒数.
* 让我们看一个使用系统的当前日期和时间创建一个日期
对象并返回一个长整数的简单例子. 这个时间通常被称为
Java 虚拟机(JVM)主机环境的系统时间.
Date date= new Date();
System.out.println(date.getTime());
* 在星期六, 2001年9月29 日, 下午大约是6:50的样子, 上面的
例子在系统输出设备上显示的结果是
1001803809710
日期数据的定制格式
* 只要通过向SimpleDateFormat 的构造函数传递格式字符
串“EEEE-MMMM-dd-yyyy",
* 我们就能够指明自己想要的格式. 你应该可以看见, 格式
字符串中的ASCII 字符告诉格式化函数下面显示日期数
据的哪一个部分.
* EEEE是星期, MMMM是月, dd是日, yyyy是年. 字符的个数
决定了日期是如何格式化的.传递"EE-MM-dd-yy"会显示
Sat-09-29-01
将文本数据解析成日期对象
将解析文本字符串"9-29-2001"并创建一个值为
001736000000 的日期对象.
SimpleDateFormat bartDateFormat = new
SimpleDateFormat("MM-dd-yyyy");
String dateStringToParse = "9-29-2001";
Date date = bartDateFormat.parse(dateStringToParse); // 就是这句了!!!!~~
System.out.println(date.getTime());
使用标准的日期格式化过程
* 既然我们已经可以生成和解析定制的日期格式了, 让我们
来看一看如何使用内建的格式化过程. 方法
DateFormat.getDateTimeInstance()
让我们得以用几种不同的方法获得标准的日期格式化过
程. 在下面的例子中,
我们获取了四个内建的日期格式化过程. 它们包括一个短
的, 中等的, 长的, 和完整的日期格式.