- 浏览: 56475 次
- 性别:
- 来自: 厦门
最新评论
1、具体类(和抽象类相对)java.util.Date
2、抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat
3、抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar
具体类可以被实例化, 但是抽象类(abstract)却不能. 你首先必须实现抽象类的一个具体子类.
一.Date类的使用
首先,看一个实例:
import java.util.Date;
public class Data{
public static void main(String[] args) {
Date date = new Date();//实例化一个date,获得系统日期
System.out.println(date.getTime());// 输出当到时间
}
}
我们可以看到输出是一串数字,在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和分析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串。Date 中的相应方法已废弃。
现在,开始改进:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Data {
public static void main(String[] args) {
SimpleDateFormat dateFormat =
new SimpleDateFormat("yyyy-MM-dd E");//可以查API,根据自己的需要显示格式
Date date = new Date();
System.out.println(" 今天的日期是: "+dateFormat.format(date));
}
}
二, Calender的使用
我们现在已经能够格式化并创建一个日期对象了, 但是我们如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类. 就如我们前面提到的那样, Calendar 类中的方法替代了Date 类中某些方法.
假设你想要设置, 获取, 和操纵一个日期对象的各个部分, 比方一个月的一天或者是一个星期的一天. 为了演示这个过程, 我们将使用具体的子类 java.util.GregorianCalendar. 考虑下面的例子, 它计算得到下面的第十个星期五是13号.
import java.util.GregorianCalendar;
import java.util.Date;
import java.text.DateFormat;
public class DateExample5 {
public static void main(String[] args) {
DateFormat dateFormat =DateFormat.getDateInstance(DateFormat.FULL);
// Create our Gregorian Calendar.
GregorianCalendar cal = new GregorianCalendar();
// Set the date and time of our calendar
// to the system's date and time
cal.setTime(new Date());
System.out.println("System Date: " + dateFormat.format(cal.getTime()));
// Set the day of week to FRIDAY
cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY);
System.out.println("After Setting Day of Week to Friday: " +dateFormat.format(cal.getTime()));
int friday13Counter = 0;
while (friday13Counter <= 10) {
// Go to the next Friday by adding 7 days.
cal.add(GregorianCalendar.DAY_OF_MONTH, 7);
// If the day of month is 13 we have
// another Friday the 13th.
if (cal.get(GregorianCalendar.DAY_OF_MONTH) == 13) {
friday13Counter++;
System.out.println(dateFormat.format(cal.getTime()));
}
}
}
}
在这个例子中我们作了有趣的函数调用:
cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY);
和:
cal.add(GregorianCalendar.DAY_OF_MONTH, 7);
set 方法能够让我们通过简单的设置星期中的哪一天这个域来将我们的时间调整为星期五. 注意到这里我们使用了常量 DAY_OF_WEEK 和 FRIDAY来增强代码的可读性. add 方法让我们能够在日期上加上数值. 润年的所有复杂的计算都由这个方法自动处理.
我们这个例子的输出结果是:
System Date: Saturday, September 29, 2001
当我们将它设置成星期五以后就成了: Friday, September 28, 2001
Friday, September 13, 2002
Friday, December 13, 2002
Friday, June 13, 2003
Friday, February 13, 2004
Friday, August 13, 2004
Friday, May 13, 2005
Friday, January 13, 2006
Friday, October 13, 2006
Friday, April 13, 2007
Friday, July 13, 2007
Friday, June 13, 2008
七、时间掌握在你的手里
有了这些Date 和Calendar 类的例子, 你应该能够使用 java.util.Date, java.text.SimpleDateFormat, 和 java.util.GregorianCalendar 创建许多方法了.
发表评论
-
servlet jsp 的生命周期
2012-02-09 15:20 1487servlet的生命周期分为以下几个步骤, 第一,加载并实例化 ... -
反射内部类
2011-11-25 18:30 962package test; public class ... -
Maven2和ivy比较
2010-06-22 13:14 1413Maven 2和Ivy常被放在一起对比,但实际上两者是不同 ... -
JAVA连接DB2注意事项
2010-05-15 23:21 1263使用Class.forName("COM.ibm. ... -
JAVA的MD5加密
2010-01-19 20:44 981MD5的全称是Message-Digest ... -
Web.xml的解析
2010-01-18 13:32 1075web.xml元素介绍 web.xml首先是肯定要包含它的 ... -
JAVA多线程
2010-01-18 13:23 777java.lang.Thread 和 java.lang.R ... -
Java常用工具类(字符编码,时间等)
2010-01-09 16:20 1440/** * 将UTF编码的字符串转化为GB2312 ... -
JDBC调用存储过程
2010-01-09 16:17 946call 语法格式{call 存储过程名(参数列表)} ... -
java读取配置文件
2010-01-09 16:11 8831、随机id的产生如何实现 引入如下的包: impo ... -
UNICODE与汉字编码互转
2010-01-09 16:08 1653为了避免在浏览器中传输数据的时候出现中文乱码,我们可以将内 ... -
Eclipse中JVM内存设置
2010-01-09 16:06 666eclipse.ini内存设置 -vmarg ... -
Hibernate 中 执行 原生 SQL 语句
2010-01-09 16:04 3198用hibernate的executeQuery来执行SQL ... -
hibernate完成oracle存储过程(stored procedures)
2010-01-09 15:59 1191import java.sql.CallableState ... -
oracle 下hibernate3.2 sequence generator 生成id的问题
2010-01-09 15:57 1319@SequenceGenerator(name=&q ... -
hibernate三重关联
2009-12-25 12:15 1130------------------------------- ... -
iframe跨域访问cookie、Sessio
2009-12-23 22:20 19791、IE浏览器iframe跨域丢失Session问题 在开发 ... -
拦截系统关闭信号
2009-12-19 21:31 1090在Java窗口程序中按ctrl+c会强行中止Java程序。点击 ...
相关推荐
Java中的Date和Calendar类是处理日期和时间的核心组件。Date类主要用于表示特定的瞬间,精确到毫秒。在早期版本的Java中,Date类的设计受到批评,因为它的API不直观且容易导致错误。为了解决这些问题,大部分日期和...
Java中的Date和Calendar类是处理日期和时间的核心工具。这两个类在Java编程中扮演着重要角色,特别是在处理日期计算、格式化以及与数据库交互时。 1. **java.util.Date** - **字符串转时间为Date对象**: 通过`...
在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的使用方式和功能,对于理解Java时间处理机制至关重要。本篇将深入探讨`Date`和`Calendar`类的实例应用。 ...
Java中的时间类`Date`和`Calendar`是处理日期和时间的核心组件,它们在Java编程中扮演着重要的角色。在Java中,`Date`类主要用来表示特定的瞬间,精确到毫秒。而`Calendar`类则是一个抽象类,提供了比`Date`更灵活的...
### Calendar和Date的转化 在Java编程语言中,`Calendar`和`Date`是处理日期和时间的重要类。为了更好地理解和使用这两个类之间的转换方法,本文将详细介绍如何将`Calendar`对象转换为`Date`对象,以及如何将`Date`...
在Java编程语言中,`Calendar`和`Date`类是处理日期和时间的核心组件。这两个类在处理日期、时间计算以及格式化等任务时扮演着关键角色。理解并熟练运用它们,对于提升Java开发能力至关重要。 `Date`类是Java早期...
在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的用法和功能,对于理解并正确使用它们是Java开发者必备的知识点。 `Date`类在早期的Java版本中被广泛使用...
`java.util.Calendar`是Java中用于操作日期和时间的抽象类,提供了比`Date`类更全面的日期和时间操作能力,包括时区支持、日历字段的访问以及日期的加减运算等。 ##### 使用Calendar `Calendar`类是抽象的,不能...
在Java编程语言中,`Calendar`和`Date`类是用于处理日期和时间的核心类。它们在处理日期和时间操作时扮演着重要角色。这里我们将深入探讨这两个类以及它们之间的对比,同时展示如何计算上月某一天的日期以及获取指定...
在Java中,Date类通常与Calendar类一起使用,因为Date类本身并不支持设置和获取具体的时间字段(如年、月、日等),而Calendar类提供了这样的功能。 1. 计算某一月份的最大天数 使用Calendar类的getActualMaximum...
在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在处理日期和时间操作时扮演着重要角色。本文将深入探讨`Date`和`Calendar`类的主要功能、用法以及如何在实际编程中有效地使用它们。 ...
Java中的Date类和Calendar类是处理时间和日期的重要工具。在早期的JDK版本中,Date类是主要的日期时间表示类,但在JDK1.1之后,为了更好地支持国际化和增强功能,推荐使用Calendar类。 Date类: 1. **表示当前时间*...
第二十五天,对包装类及Date类和Calendar类的学习
关于java中date和Calendar日期处理小结,包含一些常用方法等
`java.util.Date`和`java.util.Calendar`是两个核心的类,用于表示和操作日期。尽管`Date`类提供了许多功能,但它的某些方法如`getYear()`、`getMonth()`等在后续版本中被废弃,取而代之的是使用`Calendar`类来进行...
【Date类】 Date类是Java中用于处理时间和日期的...Date类是最基础的,而Calendar类提供了更丰富的操作,SimpleDateFormat则负责日期和时间的格式化和解析。在实际开发中,根据需求选择合适的类来处理日期和时间问题。
实验分为三个部分,分别围绕Math类、基本类型的包装类、日期类(Date和Calendar)、以及动态数组Vector类展开。 #### 实验内容与设备 实验在Windows环境下进行,采用Eclipse作为开发工具。实验内容设计了三个练习...
031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记
### Java中Date类和Calendar类的比较 #### 一、Date类详解 **1. Date 类简介** 在Java中,`java.util.Date`类用于表示特定的瞬间,精确到毫秒。该类自JDK 1.0版本起提供,并在后续版本中得到了改进和支持。虽然`...
在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。使用Date类的默认构造方法创建出的...