`
oh_nerd
  • 浏览: 5199 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

java中日期的操作,简单理解

阅读更多

 

Java中关于日期的三个类

1、具体类(和抽象类相对)java.util.Date  
2
、抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat  
3
、抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar  

 

jdk1.1之前,date无所不能(无视),但是用jdk自己的话:Unfortunately, the API for these functions was not amenable to internationalization.jdk1.1之后,date出现了分支:Calendar用于日期和时间之间的转换;DateFormat用于格式化和解析时间字符串。Date为具体类,CalendarDateFormat为抽象类用于提供各种方法。

 

首先看被阉割的Date

构造函数:

//date只有两种构造方法,其他都被阉割了。分别是空的和带long参数的

       public static void testConstructor() {

             

              //无参数的构造方法,获得当前的时间

              //输出:Mon Jul 23 15:20:43 CST 2012

              Date date=new Date();

              System.out.println(date);

             

              //带有long参数的构造方法

              long tmp=new Long("1231423432423");

              //long tmp2=1231423432423l;new 和直接赋值都可,但是后者得加"l"

              date=new Date(tmp);

              System.out.println(date);

       }

方法:

//date的方法,貌似就个getTime()有用

       public static void testMethod () {

             

              Date date=new Date();

              //after before忽略

             

              //clone返回对象的一个拷贝,此处体现了多态的特性

              //即虽然返回的dateobject类型的tmp引用,但是toString()方法任然是date重写后的方法,而非object方法

              Object tmp=date.clone();

             

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

              System.out.println(tmp.toString());

              //两者都输出Mon Jul 23 16:01:10 CST 2012

             

              //compareTo equals 忽略

             

              //getTime()大概唯一具有实际意义的一个方法,返回自197011号的毫秒

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

       }

再先看Calendar:简单的看Calendar有一个getInstance()方法可以获得本地的“日历”,再通过get()方法可以获得这个“日历”里的各种信息,这是获取信息,与之对应的可以通过set()方法来改变“日历”中的信息,从而获得自己需要的日期以及更多关于日期的计算。

//Calendar中提供了N多字段已经各种对时间的操作方法

       public static void testCalendar() {

              //通过getInstance()获得本机的一个时间实例

              Calendar cal=Calendar.getInstance();

              System.out.println(cal);//--内部中所有的字段存储在fields

              System.out.println(cal.get(Calendar.YEAR));//--获得日历中的年(也可以获得其他月,日等)

             

              //通过set方法设置时间。java时间操作最终改变的是getTime()的值,getTime()返回的值为相对精确的一个时间

              //通过format类可以设置各种时间格式

              cal.set(2011, 9, 19);

              Date date=cal.getTime();

              System.out.println(date);

       }

最后看DateFormat,主要看它的实现类SimpleDateFormat。目前就一个构造方法可用,具体用法看jdk

public static void testDateFormat() {

              Date date=new Date();

             

              //主要是几个日期字符的操作,可以参考JDK

              SimpleDateFormat simpleDateFormat1=new SimpleDateFormat("yyyy/MM/dd HH:mm");

              SimpleDateFormat simpleDateFormat2=new SimpleDateFormat("今年是yyyy");

              System.out.println(simpleDateFormat1.format(date));//输出“2012/07/24 23:54

              System.out.println(simpleDateFormat2.format(date));//输出“今年是2012

       }

JDK格式表:

Letter

Date or Time Component

Presentation

Examples

G

Era designator

Text

AD

y

Year

Year

1996; 96

M

Month in year

Month

July; Jul; 07

w

Week in year

Number

27

W

Week in month

Number

2

D

Day in year

Number

189

d

Day in month

Number

10

F

Day of week in month

Number

2

E

Day in week

Text

Tuesday; Tue

a

Am/pm marker

Text

PM

H

Hour in day (0-23)

Number

0

k

Hour in day (1-24)

Number

24

K

Hour in am/pm (0-11)

Number

0

h

Hour in am/pm (1-12)

Number

12

m

Minute in hour

Number

30

s

Second in minute

Number

55

S

Millisecond

Number

978

z

Time zone

General time zone

Pacific Standard Time; PST; GMT-08:00

Z

Time zone

RFC 822 time zone

-0800

 

分享到:
评论
1 楼 Pauvrepetiti 2012-08-22  
不错

相关推荐

    java日期操作.

    在Java编程语言中,日期和时间的操作是程序开发中不可或缺的一部分。Java提供了多种处理日期和时间的方法,使得开发者能够方便地进行日期...理解并熟练掌握这些日期操作,对于编写高效、可靠的Java应用程序至关重要。

    java中计算两个日期相差几天

    在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中的关键概念和技术细节。 #### ...

    java日期工具类

    总之,Java中的日期工具类从最初的`java.util.Date`到现在的`java.time`包,经历了从简单到复杂,从不方便到易用的演进过程。理解并掌握这些工具类的使用,能够帮助开发者更好地处理日期和时间相关的编程问题。

    java里的日期的选择

    总之,Java的日期选择技术是编程中的关键部分,理解和掌握这些知识将使你在开发中更加游刃有余。无论是简单的日期格式化,还是复杂的日期计算,Java都提供了强大的工具来满足需求。不断学习和实践,将帮助你更好地...

    JAVA 史上最牛的日期控件

    总结来说,这个“史上最牛的日期控件”可能是一个功能强大的Java日期选择组件,它支持广泛的日期范围,并且拥有独立运行的演示程序,便于用户和开发者测试和评估其性能和功能。Record.java和datechooser这两个文件...

    日期计算程序(java)

    进一步深入,还可以探索Java 8的`java.time`包中的其他类,如`LocalTime`、`LocalDateTime`和`ZonedDateTime`,以及它们如何处理时间戳和时区转换,增强对日期时间操作的理解。此外,如果涉及到GUI,还可以学习Swing...

    Java中日期时间处理.docx

    Java中的日期时间处理是编程中常见且重要的任务,涉及到对日期和时间的创建、操作以及格式化输出。本文将详细讲解Java中处理日期时间的主要类,包括Date、Calendar、GregorianCalendar以及DateFormat和...

    java 日期计算

    下面我们将深入探讨相关的Java日期处理知识。 Java中的日期和时间API主要有两个版本:一个是早期的`java.util.Date`和`java.util.Calendar`类,另一个是Java 8引入的`java.time`包,包含`LocalDate`, `LocalTime`, ...

    java日期的表示

    在Java编程语言中,日期和时间的处理是日常开发中不可或缺的部分。...而从Java 8开始,`java.time`包提供了更现代化的API,使得日期时间操作更加简单易用。理解并掌握这些知识点对于任何Java开发者都是至关重要的。

    日期计算器java日期计算器java.doc

    6. **日期操作**:使用`Calendar`类的方法,如`add()`,对日期进行增加或减少天数的操作。`SimpleDateFormat`用于将`Calendar`对象转换为用户友好的日期字符串。 7. **错误处理**:确保输入的合法性,如防止负数...

    java课程日历,输入日期打印日历

    总的来说,创建一个Java日历程序需要理解日期和时间处理的概念,包括如何创建和操作日期对象,以及如何根据日期进行计算。通过使用`java.util.Calendar`或`java.time`包,我们可以实现输入不同日期范围打印日历的...

    Java数据库操作组件1.1

    首先,让我们深入理解Java中的数据库操作。Java标准版(Java SE)提供了Java Database Connectivity (JDBC) API,这是一个用于连接Java应用程序和各种数据库的标准接口。JDBC允许开发者执行SQL语句,进行数据查询、...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    总之,在Java中处理日期和时间时,理解`java.util.Date`与`java.sql.Date`的区别以及它们之间的转换非常重要。此外,正确使用日期格式转换工具,如`SimpleDateFormat`,可以大大简化日期时间的处理过程。

    Java中使用Json

    在Java编程中,JSON...正确理解和熟练使用这些工具和概念对于Java开发者来说至关重要,因为JSON已经成为现代Web开发中的标准数据交换格式。通过不断实践和学习,你将能够更好地应对各种涉及到JSON处理的开发任务。

    Java日期工具类,Java时间工具类,Java时间格式化

    在Java编程语言中,日期和时间处理是常见且重要的任务。Java提供了多种工具类来帮助开发者处理日期和时间,使得我们可以方便地进行日期计算、格式化以及解析等操作。本篇将围绕Java中的日期工具类和时间工具类展开...

    如何在 Java 中为日期增加一天.docx

    在 Java 中,对日期进行操作是一项常见的任务,特别是在处理日期相关的业务逻辑时。本文将详细介绍如何在 Java 中为日期增加一天,主要涉及三种方法:使用 `plusDays()` 方法,`Calendar` 类,以及通过毫秒计算。...

    java日历及贷款计算器

    在Java编程语言中,日历(Calendar)类是处理...开发者可能需要对Java日期API有深入理解,并能编写复杂的金融计算算法。通过这个项目,可以学习到如何在实际应用中使用Java进行日期操作以及实现一个实用的金融工具。

    java8中文文档API

    Java 8是Java编程语言的一个重要版本,引入了许多新特性,极大地提升了开发效率和...以上这些特性都在"java8中文文档API"中有所详细介绍,通过这个文档,开发者可以深入理解Java 8的新特性和使用方法,提升开发效率。

    java时钟java。java

    在Java编程语言中,"java时钟java.java"可能是一个示例程序,用于演示如何在Java中创建和...在`clock`这个文件中,可能包含了实现这些功能的源代码,你可以通过阅读和理解代码来进一步加深对Java时间日期API的理解。

Global site tag (gtag.js) - Google Analytics