- 浏览: 409280 次
- 性别:
- 来自: 秦皇岛
最新评论
-
prayjourney:
了解了,讲的不错
DataInputStream和DataOutputStream类 -
niunianss:
将字节退回的时候,需要添加判断,最后一个字符是英文时,实际数组 ...
PushbackInputStream -
cctt_1:
不要误人子弟,那根本就不是 解释器模式!!!那是Composi ...
Interpreter(解释器)模式 -
java-大神:
[i][i]引用引用引用引用[/img][/img][/img ...
BufferedReader和BufferedWriter -
百合不是茶:
你的程序在文件输入输出流中传入agrs[0]时,会报错越界 ...
DataInputStream和DataOutputStream类
1. 使用Date:
使用System.currentTimeMillis()方法可以取得系统的时间,是从1970年1月1日0时0分0秒到当前系统时间的毫秒数。当使用Date对象时,会使用System.currentTimeMillis()来取得系统时间,使用Date实例的toString()方法时,会将取得的1970年1月1日0时0分0秒至今的毫秒数转为“星期 月 日 时:分:秒 公元“的格式;使用Date的getTime()方法则可以取得实际经过的毫秒数。如下例:
package ysu.hxy; import java.util.Date; public class DateDemo { public static void main(String[] args) { Date date = new Date(); System.out.println("现在时间 " + date.toString()); System.out.println("自1970/1/1至今的毫秒数 " + date.getTime()); } }
执行结果:
D:\hxy>java ysu.hxy.DateDemo
现在时间 Tue Apr 07 10:56:59 CST 2009
自1970/1/1至今的毫秒数 1239073019187
2.如果要对日期做格式设定可以使用java.text.DateFormat来做格式化。先来看看DateFormat的子类java.text.SimpleDateFormat是如何使用的。范例如下:
package ysu.hxy; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatDemo { public static void main(String[] args) { Date date = new Date(); DateFormat dateFormat = new SimpleDateFormat("EE-MM-dd-yyyy"); System.out.println(dateFormat.format(date)); } }
执行结果:D:\hxy>java ysu.hxy.DateFormatDemo
星期二-04-07-2009
3.也可以直接使用DateFormat上的静态getDateTimeInstance()方法来指定格式,getDateTimeInstance()方法会返回DateFormat的实例,之后可以重复使用这个实例来格式化Date对象。此方法的两个参数分别表示日期格式与时间格式,如下范例:
package ysu.hxy; import java.text.DateFormat; import java.util.Date; public class DateTimeInstanceDemo { public static void main(String[] args) { //取得当前时间 Date date = new Date(); //简短消息格式 DateFormat shortFormat = DateFormat.getDateTimeInstance( DateFormat.SHORT,DateFormat.SHORT); //中等消息格式 DateFormat mediumFormat = DateFormat.getDateTimeInstance( DateFormat.MEDIUM,DateFormat.MEDIUM); //长信息格式 DateFormat longFormat = DateFormat.getDateTimeInstance( DateFormat.LONG,DateFormat.LONG); //详细信息格式 DateFormat fullFormat = DateFormat.getDateTimeInstance( DateFormat.FULL,DateFormat.FULL); System.out.println("简短信息格式:"+shortFormat.format(date)); System.out.println("中等信息格式:"+mediumFormat.format(date)); System.out.println("长信息格式:"+longFormat.format(date)); System.out.println("详细信息格式:"+fullFormat.format(date)); } }
4. 也可以使用getDateTimeInstance()取得DateFormat实例,并同时指定日期的区域显示方式,指定时要使用一个java.util.Locale实例作为参数。如下示例将按美国的时间表示方式显示系统时间:
package ysu.hxy; import java.text.DateFormat; import java.util.Date; import java.util.Locale; public class DateTimeInstanceDemo2 { public static void main(String[] args) { // 取得目前时间 Date date = new Date(); // en: 英语系 US: 美国 Locale locale = new Locale("en", "US"); // 简短信息格式 DateFormat shortFormat = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT, locale); // 中等信息格式 DateFormat mediumFormat = DateFormat.getDateTimeInstance( DateFormat.MEDIUM, DateFormat.MEDIUM, locale); // 长信息格式 DateFormat longFormat = DateFormat.getDateTimeInstance( DateFormat.LONG, DateFormat.LONG, locale); // 详细信息格式 DateFormat fullFormat = DateFormat.getDateTimeInstance( DateFormat.FULL, DateFormat.FULL, locale); System.out.println("short format: " + shortFormat.format(date)); System.out.println("media format: " + mediumFormat.format(date)); System.out.println("long format: " + longFormat.format(date)); System.out.println("full format: " + fullFormat.format(date)); } }
运行结果:
D:\hxy>java ysu.hxy.DateTimeInstanceDemo2
short format: 4/7/09 11:25 AM
media format: Apr 7, 2009 11:25:01 AM
long format: April 7, 2009 11:25:01 AM CST
full format: Tuesday, April 7, 2009 11:25:01 AM CST
5.Calendar类:
可以使用Date来取得完整的日期时间并使用toString()显示日期的文字描述,但如果要单独取得某个时间或日期信息该如何进行?可以使用java.util.Calendar类,Calendar的一些方法会取回int类型数据,而取回的数据其实是对应于Calendar中定义的常数。
如果要取得现在的时间,首先要使用Calendar的getInstance()方法取得一个Calendar的实例。例如:
Calendar rightNow = Calendar.getInstance();
一个Calendar的实例是系统时间的抽象表示,您可以操作这个实例上的get()方法来取得您想要知道的时间信息。例如您想知道现在是公元几年,则可以使用get()方法并指定对应的常数。例如:
System.out.println(rightNow.get(Calendar.YEAR));
要想取得现在的月份可以使用:
System.out.println(rightNow.get(Calendar.MONTH));
如果当前月份是4,则这条语句会输出3。这是对于于Calendar.April的值,并不代表当前月份是3月份。Calendar在月份上的常数值从一月Calendar.JANUARY开始是0,到十二月Calendar.DECEMBER的11,所以如果想要显示返回值的真正意义,可以如下编写:
String[] months = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"}; Calendar rightNow = Calendar.getInstance(); int monthConstant = rightNow.get(Calendar.MONTH); System.out.println(months[monthConstant]);
同样地,如果要取得星期信息,则要记得Calendar的星期常数是从星期日Calendar.SUNDAY是1,到星期六确Calendar.SATURDAY是7。由于对应的数并不是从0开始,所以如果要使用数组来对应,第一个数组的元素值就不包括信息。例如:
String[] dayOfWeek = {"","日","一","二","三","四","五","六"}; Calendar rightNow = Calendar.getInstance(); int dayOfWeekConstant = rightNow.get(Calendar.DAY_OF_WEEK); System.out.println(dayOfWeek[dayOfWeekConstant]);
总之要记得get()返回的int值是对应于Calendar的某个常数,如果怕搞混,使用switch来比对是一个不错的做法。如下例所示:
package ysu.hxy; import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { Calendar rightNow = Calendar.getInstance(); System.out.println("现在时间是:"); System.out.println("公元:"+rightNow.get(Calendar.YEAR)); System.out.println("月:"+getChineseMonth(rightNow)); System.out.println("日:"+rightNow.get(Calendar.DAY_OF_MONTH)); System.out.println("星期:"+getChineseDayOfWeek(rightNow)); //System.out.println(rightNow.get(Calendar.DAY_OF_WEEK)); //System.out.println(rightNow.get(Calendar.MONTH)); } public static String getChineseMonth(Calendar rightNow) { String chineseMonth = null; switch(rightNow.get(Calendar.MONTH)) { case Calendar.JANUARY: chineseMonth = "一"; break; case Calendar.FEBRUARY: chineseMonth = "二"; break; case Calendar.MARCH: chineseMonth = "三"; break; case Calendar.APRIL: chineseMonth = "四"; break; case Calendar.MAY: chineseMonth = "五"; break; case Calendar.JUNE: chineseMonth = "六"; break; case Calendar.JULY: chineseMonth = "七"; break; case Calendar.AUGUST: chineseMonth = "八"; break; case Calendar.SEPTEMBER: chineseMonth = "九"; break; case Calendar.OCTOBER: chineseMonth = "十"; break; case Calendar.NOVEMBER: chineseMonth = "十一"; break; case Calendar.DECEMBER: chineseMonth = "十二"; break; } return chineseMonth; } public static String getChineseDayOfWeek(Calendar rightNow) { String chineseDayOfWeek = null; switch(rightNow.get(Calendar.DAY_OF_WEEK)) { case Calendar.SUNDAY: chineseDayOfWeek = "日"; break; case Calendar.MONDAY: chineseDayOfWeek = "一"; break; case Calendar.TUESDAY: chineseDayOfWeek = "二"; break; case Calendar.WEDNESDAY: chineseDayOfWeek = "三"; break; case Calendar.THURSDAY: chineseDayOfWeek = "四"; break; case Calendar.FRIDAY: chineseDayOfWeek = "五"; break; case Calendar.SATURDAY: chineseDayOfWeek = "六"; break; } return chineseDayOfWeek; } }
运行结果:
D:\Java_Test>java ysu.hxy.CalendarDemo
现在时间是:
公元:2009
月:四
日:7
星期:二
发表评论
-
内部类总结
2009-11-27 14:28 1222一、方法及作用域内的内部类:1.在一个方法内定义的类2.在一个 ... -
finalize()方法终结条件验证 示例代码
2009-09-20 09:23 1348package Initialization; clas ... -
Proxy(代理)模式二
2009-05-15 21:16 15532. 重新思考图像代理: 现在需要思考设计模式是否 ... -
Junit简介
2009-04-08 17:46 16501. 单元测试(Unit Test) 一个单元(Un ... -
Ant简介
2009-04-08 13:10 18531. Ant可以自动完成的任务: (1)编译Java源代 ... -
专题制作--文字编辑器(文字编辑与保存)
2009-04-08 10:43 22161. 文字编辑与保存: (1). 打开文件的处理流 ... -
专题制作--文字编辑器(逻辑实现部分)
2009-04-07 22:35 19061. 事件处理: 在Java中事件以具体的对象来表 ... -
专题制作--文字编辑器(接口部分)
2009-04-07 20:28 21491. Swing入门: 若要使用J2SE来开发窗口应用 ... -
信息绑定(国际化处理)
2009-04-07 20:02 15851. 程序中的一些文字信息可以将之定义在一个属性文件中,而不定 ... -
日志(Logging)
2009-04-07 16:14 17281. 日志(Logging) 程序不免会出现错误,当 ... -
meta-annotation
2009-04-07 09:23 30831. 所谓meta-annotation就是Annotati ... -
Annotion
2009-04-06 23:05 16841. Annotation对程序运行没有影响,它的目的在于对编 ... -
使用反射生成与操作对象(二)
2009-04-06 17:04 17561. 修改成员值: 尽管直接存取类的域成员是不被鼓励的 ... -
使用反射生成与操作对象(一)
2009-04-06 15:16 21101. 使用反射机制,可以在运行时期动态加载类并生成对象,操作对 ... -
Java中的反射(二)
2009-04-06 10:42 20771. 当在命令行模式下执行java XXX.class 指令后 ... -
Java中的反射(一)
2009-04-06 09:43 13931. Java提供的反射机制允许您在运行时动态加载类、查看类信 ... -
容器类的线程安全及ThreadLocal类
2009-04-05 21:28 30571. 容器类默认没有考虑 ... -
wait()和notify()
2009-04-05 19:06 13731. wait()、notify()、notifyAll() ... -
Java线程之同步化(Synchronized)主题
2009-04-05 16:44 27151. 如果一个对象所持有的数据可以被多线程同时共享存取,必须 ... -
Java线程(三)
2009-04-05 15:37 18931. Java中的每个线程都 ...
相关推荐
在Java编程中,处理日期和时间是非常常见的需求。Java提供了多种类来支持日期和时间的操作,主要包括`java.util.Date`、`java.text.DateFormat`及其子类`java.text.SimpleDateFormat`、`java.util.Calendar`及其子类...
在压缩包的"swing 时间控件"中,可能包含了实现这些功能的示例代码、源文件或资源文件,可以帮助开发者快速理解和集成这些日期时间选择控件到自己的Swing应用中。通过研究这些文件,开发者可以学习如何自定义日期...
本文详细介绍了如何使用Java处理日期合并的问题,通过对`TimeoffDateDTO`类的定义和日期合并算法的具体实现,提供了一种有效的方法来解决实际工作中经常遇到的时间段重叠问题。这种方法不仅适用于员工请假时间的管理...
将java的日期转换成中文的日期,可以直接使用的源文件。
总的来说,这个"JAVA时间和日期图解"教程将帮助你掌握Java中处理日期和时间的最佳实践,理解新的`java.time`包的优势,以及如何在实际项目中有效地使用这些工具。通过学习,你将能够编写出更优雅、更易于维护的日期...
在 Java 中,格式化输出日期时间可以使用 SimpleDateFormat 类的 format() 方法。下面将介绍如何使用 SimpleDateFormat 类格式化输出日期时间。 ```java Date date = new Date(); SimpleDateFormat df = new ...
一个简单的Java Swing时间日期选择控件的代码示例,带有中文注释 代码创建了一个简单的Java Swing时间日期选择器,包含一个输入框、一...该代码使用了Java Swing库中的组件和事件处理机制来实现时间日期选择器的功能。
### Java日期时间转换大全 在Java编程中,处理日期和时间是常见的需求,尤其是在涉及到数据库操作、文件命名、日志记录等场景时。本文将详细解析如何在Java中进行日期和时间的转换,涵盖从字符串到日期对象的转换,...
在Java编程中,自定义日期时间选择控件是常见的需求,尤其在开发用户界面时,以便用户能够方便地输入或选择日期和时间。...通过这种方式,我们可以增强对Java日期时间处理和UI组件定制的理解,提升开发技能。
本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期部分以及如何获取时间戳。此外,我们还将探讨如何使用自定义格式来获取日期时间。 #### 二、基本...
在Java中,主要使用`java.util.Date`、`java.util.Calendar`和`java.text.SimpleDateFormat`这三个核心类来处理日期时间。 首先,`java.util.Calendar`是一个抽象类,它提供了对日期和时间的高级操作。例如,你可以...
Java 字符串转换为日期和时间比较大小是 Java 开发中常见的操作。下面我们将详细介绍两种方法来实现 Java 字符串转换为日期和时间比较大小。 方法一:使用 SimpleDateFormat 在 Java 中,SimpleDateFormat 是一个...
1. **日期时间格式化与解析**:`DateUtil`可能包含方法如`format(Date date, String pattern)`和`parse(String dateString, String pattern)`,分别用于将`Date`对象转换为符合指定格式的字符串,以及将符合指定格式...
8. **日期时间的克隆和复制**:有时我们需要创建Date对象的副本,而不改变原始对象,`cloneDate`方法可以实现这一点。 9. **线程安全**:如果工具类被设计为线程安全的,那么它可能包含了同步方法或使用了线程局部...
JavaCalendar是Java编程语言中用于处理日期和时间的重要类,它是`java.util.Calendar`的实现。这个源码分析将深入探讨Java中日期和时间的管理,以及如何利用`Calendar`类进行相关的操作。 首先,`Calendar`类是抽象...
Java_Date_日期时间整理 Java 中的日期时间处理是非常重要的,以下是 Java 中日期时间整理的知识点总结: ...通过上述知识点,我们可以看到 Java 中日期时间处理的多样性和灵活性,可以满足不同的应用场景需求。
如果这个文件包含了代码示例,你可以打开查看具体实现,进一步学习和理解Java日期时间操作的细节。 总之,理解和熟练掌握Java的日期时间操作对于开发人员来说至关重要,无论是在处理用户输入、记录日志还是进行复杂...
同时,`java.time`包还提供了一个`DateTimeFormatter`类用于日期时间的格式化和解析。 在自定义的`DateUtil.java`工具类中,通常会包含以下功能: 1. **日期时间格式化与解析**:通过`SimpleDateFormat`类,可以...
总结来说,学习Java处理日期和时间不仅涉及理解和使用新API,还包括掌握日期时间的概念,如闰年、时区、夏令时等。通过视频教程资源,你可以系统地学习这些知识,提高你的Java编程技能。在实际项目中,合理利用这些...