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为具体类,Calendar和DateFormat为抽象类用于提供各种方法。
首先看被阉割的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返回对象的一个拷贝,此处体现了多态的特性
//即虽然返回的date被object类型的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()大概唯一具有实际意义的一个方法,返回自1970年1月1号的毫秒
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格式表:
分享到:
相关推荐
在Java编程语言中,日期和时间的操作是程序开发中不可或缺的一部分。Java提供了多种处理日期和时间的方法,使得开发者能够方便地进行日期...理解并熟练掌握这些日期操作,对于编写高效、可靠的Java应用程序至关重要。
在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中的关键概念和技术细节。 #### ...
总之,Java中的日期工具类从最初的`java.util.Date`到现在的`java.time`包,经历了从简单到复杂,从不方便到易用的演进过程。理解并掌握这些工具类的使用,能够帮助开发者更好地处理日期和时间相关的编程问题。
总之,Java的日期选择技术是编程中的关键部分,理解和掌握这些知识将使你在开发中更加游刃有余。无论是简单的日期格式化,还是复杂的日期计算,Java都提供了强大的工具来满足需求。不断学习和实践,将帮助你更好地...
总结来说,这个“史上最牛的日期控件”可能是一个功能强大的Java日期选择组件,它支持广泛的日期范围,并且拥有独立运行的演示程序,便于用户和开发者测试和评估其性能和功能。Record.java和datechooser这两个文件...
进一步深入,还可以探索Java 8的`java.time`包中的其他类,如`LocalTime`、`LocalDateTime`和`ZonedDateTime`,以及它们如何处理时间戳和时区转换,增强对日期时间操作的理解。此外,如果涉及到GUI,还可以学习Swing...
Java中的日期时间处理是编程中常见且重要的任务,涉及到对日期和时间的创建、操作以及格式化输出。本文将详细讲解Java中处理日期时间的主要类,包括Date、Calendar、GregorianCalendar以及DateFormat和...
下面我们将深入探讨相关的Java日期处理知识。 Java中的日期和时间API主要有两个版本:一个是早期的`java.util.Date`和`java.util.Calendar`类,另一个是Java 8引入的`java.time`包,包含`LocalDate`, `LocalTime`, ...
在Java编程语言中,日期和时间的处理是日常开发中不可或缺的部分。...而从Java 8开始,`java.time`包提供了更现代化的API,使得日期时间操作更加简单易用。理解并掌握这些知识点对于任何Java开发者都是至关重要的。
6. **日期操作**:使用`Calendar`类的方法,如`add()`,对日期进行增加或减少天数的操作。`SimpleDateFormat`用于将`Calendar`对象转换为用户友好的日期字符串。 7. **错误处理**:确保输入的合法性,如防止负数...
总的来说,创建一个Java日历程序需要理解日期和时间处理的概念,包括如何创建和操作日期对象,以及如何根据日期进行计算。通过使用`java.util.Calendar`或`java.time`包,我们可以实现输入不同日期范围打印日历的...
首先,让我们深入理解Java中的数据库操作。Java标准版(Java SE)提供了Java Database Connectivity (JDBC) API,这是一个用于连接Java应用程序和各种数据库的标准接口。JDBC允许开发者执行SQL语句,进行数据查询、...
总之,在Java中处理日期和时间时,理解`java.util.Date`与`java.sql.Date`的区别以及它们之间的转换非常重要。此外,正确使用日期格式转换工具,如`SimpleDateFormat`,可以大大简化日期时间的处理过程。
在Java编程中,JSON...正确理解和熟练使用这些工具和概念对于Java开发者来说至关重要,因为JSON已经成为现代Web开发中的标准数据交换格式。通过不断实践和学习,你将能够更好地应对各种涉及到JSON处理的开发任务。
在Java编程语言中,日期和时间处理是常见且重要的任务。Java提供了多种工具类来帮助开发者处理日期和时间,使得我们可以方便地进行日期计算、格式化以及解析等操作。本篇将围绕Java中的日期工具类和时间工具类展开...
在 Java 中,对日期进行操作是一项常见的任务,特别是在处理日期相关的业务逻辑时。本文将详细介绍如何在 Java 中为日期增加一天,主要涉及三种方法:使用 `plusDays()` 方法,`Calendar` 类,以及通过毫秒计算。...
在Java编程语言中,日历(Calendar)类是处理...开发者可能需要对Java日期API有深入理解,并能编写复杂的金融计算算法。通过这个项目,可以学习到如何在实际应用中使用Java进行日期操作以及实现一个实用的金融工具。
Java 8是Java编程语言的一个重要版本,引入了许多新特性,极大地提升了开发效率和...以上这些特性都在"java8中文文档API"中有所详细介绍,通过这个文档,开发者可以深入理解Java 8的新特性和使用方法,提升开发效率。
在Java编程语言中,"java时钟java.java"可能是一个示例程序,用于演示如何在Java中创建和...在`clock`这个文件中,可能包含了实现这些功能的源代码,你可以通过阅读和理解代码来进一步加深对Java时间日期API的理解。