Date:
Date类位于java.util包下,由于存在千年虫问题,现在Date的大部分方法都已经不再使用。目前使用的主要有long getTime()方法获取给定Date时间对应的毫秒值以及Date getTime(long sec)方法根据给定时间设置为Date对象或者直接使用构造器new Date(long sec)
public class DateDemo { public static void main(String[] args) { /** * 获取当前时间 */ Date date = new Date(); System.out.println(date); /** * 获取当前时间的毫秒值 */ long sec = date.getTime(); System.out.println(sec); /** * 通过一个毫秒值让Date去描述这个对象 */ date.setTime(sec); System.out.println(date); } }
SimpleDateFormat
SimpleDateFormat类位于java.text包下,是java.txt.DateFormat的子
java.lang.Object
--java.text.Format
--java.text.DateFormat
--java.text.SimpleDateFormat
|
经常使用SimpleDateFormat类下的format(Date date)方法对已知的Date对象进行格式化。
/** * 将Date对象格式化 * @author Pursuit. * @version 2013-11-22 上午8:42:18 */ public class SimpleDateFormatFormat { public static void main(String[] args) { Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 kk:mm:ss E"); //对应格式 2013年11月22日 08:47:14 星期五 String str = sdf.format(now); System.out.println(str); } }
经常使用SimpleDateFormat类下的Date parse(String str)方法对已知的String对象进行转换。
/** * 使用SimpleDateFormat * 进行字符串按照指定格式解析为Date对象 * @author Administrator * */ public class SimpleDateFormatDemo2 { public static void main(String[] args) throws ParseException { //定义一个日期的字符串 String str = "2013/12/30 15:22:45"; /** * 2013/12/30 15:22:45" * yyyy/MM/dd HH:mm:ss */ SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); /** * Date parse(String str) * 将给定的字符串按照给定的格式解析成Date对象 */ Date date = sdf.parse(str); System.out.println(date); } }
Calender:
Calendar位于java.util包下,目前使用较多的日期类。
public class CalendarDemo { public static void main(String[] args) { /** * 根据当前系统地区创建Calendar实例 * 默认创建出来的Calendar描述的是当前系统时间 * java.util.Calendar */ Calendar calendar = Calendar.getInstance(); // System.out.println(calendar); /** * Date getTime() * 以Date形式描述当前Calendar所描述的时间 */ Date date = calendar.getTime(); /** * void setTime(Date date) * 让当前Calendar描述给定的Date对象所描述的时间 */ calendar.setTime(new Date()); System.out.println(date); } }
设置和获取时间
/** * 设置和获取时间 * @author Administrator * */ public class CalendarDemo2 { public static void main(String[] args) { //创建当前系统时间的日历类 Calendar calendar = Calendar.getInstance(); //输出时间 System.out.println(calendar.getTime()); /** * 将当前时间中的年设置为1995 */ calendar.set(Calendar.YEAR, 1995); //输出时间 System.out.println(calendar.getTime()); /** * 将当前时间中的月设置为5月 * 月在Calendar中有对应的常量 * 若写数字,0表示1月,以此类推 */ calendar.set(Calendar.MONTH, 4); //输出时间 System.out.println(calendar.getTime()); /** * 将当前时间中的日设置为5号 * Calendar.DATE 表示的是月中的某一天 * Calendar.DAY_OF_MONTH 和DATE常量一摸一样 * * Calendar.DAY_OF_WEEK 表示星期中的某一天 * * Calendar.DAY_OF_YEAR 表示年中的某一天 * */ calendar.set(Calendar.DATE, 5); //输出时间 System.out.println(calendar.getTime()); /** * Calendar.HOUR 表示12小时制的小时 0-11 * Calendar.HOUR_OF_DAY 表示24小时制的小时 * */ calendar.set(Calendar.HOUR, 4); //输出时间 System.out.println(calendar.getTime()); /** * 获取当前Calendar中的某一个时间单位的值 */ int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("现在是" + year + "年"); System.out.println(month + 1 + "月"); System.out.println(day + "日"); /** * 对于星期而言,1表示星期日,2表示星期一,以此类推 */ int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); System.out.println( "星期" + ( dayOfWeek==1 ? 7 : dayOfWeek-1 ) ); /** * 查看1995年的5月5号是一年中的第几天 */ int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); System.out.println("是一年中的第"+dayOfYear+"天"); } }
设置时间值溢出时系统会自动增加至下一月、下一年
import java.util.Calendar; /** * Calendar设置时间的溢出问题 * @author Administrator * */ public class CalendarDemo3 { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); /** * 当设置的值超过了该值允许的最大值时,会将相应的时间 * 单位进行进位,这里就会对月进行进位 */ calendar.set(Calendar.DAY_OF_MONTH, 32); //Mon Dec 02 08:55:03 CST 2013 System.out.println(calendar.getTime()); } }
总结
String到Date以及Date到String使用的是SimpleDateFormat类
Date到Calendar以及Calendar到Date使用的是Calendar下的setTime(Date date)以及Clendar下的Date getTime()方法
相关推荐
### Java日期处理大全:掌握时间的艺术 在Java编程中,日期和时间的处理是不可或缺的一部分,尤其是在涉及到数据记录、时间戳、定时任务等场景时。本文将深入探讨Java中的日期处理技术,涵盖从基础到进阶的各种技巧...
java中关于日期处理的总结,包含各种日期格式之间的转java.util.Date(已经不提倡使用,该类的方法比较少) java.util.Calendar(抽象类) java.util.GregorianCalendar(是Calendar的子类,日期处理时候经常使用该类)****...
基本涵盖了各种场景的日期处理需要,包括时间类型转换,获取N天前后,月初月末,某段时间按天拆分等功能,欢迎使用。
### Java日期处理方法 在Java开发中,对日期与时间的操作是极其常见且重要的一个环节。无论是处理用户的出生年月日、注册日期还是订单的创建时间等,都需要使用到Java提供的日期类进行处理。本文将深入探讨Java中的...
这篇博客"常用代码:java日期处理"很可能包含了关于如何在Java中有效地处理日期的实用示例和方法。这里我们将深入探讨Java日期处理的核心概念、API和最佳实践。 1. **Java日期API的发展历程** - Java 1.0引入了`...
DateHandler.java日期处理类Java文件下载,有些功能很不错哦,比如计算是否是季度末、计算从现在开始几天后的时间、得到当前时间,用于文件名,使用yyyyMMddHHmmss格式、比较日期,与现在-N天的日期对比、比较日期,...
自己整理的Java日期处理类 。包含获取两个之间段之间的天数、月初日期,月末日期、一个时间段之间的所有的日期,月份 一周的第一天,最后一天、 当前是周几等。仅供参考
在Java中,日期处理是一项常见的任务,涉及到多个类和方法。本篇文章主要总结了Java中关于日期处理的基础知识,包括`java.util.Calendar`,`java.util.GregorianCalendar`以及`java.util.Date`这三个核心类。 首先...
java 日期处理工具类
以下是一些关于Java日期处理的关键知识点,这些知识点在给定的文件中有所提及: 1. **获取当前日期**: Java通过`java.util.Date`类可以获取服务器上的当前日期。创建一个Date对象即会返回当前系统时间,如`Date ...
根据给定的文件标题、描述、标签以及部分内容,我们可以总结出以下有关 Java 日期处理的知识点: ### 1. 导入必要的包 在 Java 中处理日期时,我们需要导入一些必要的包来支持日期时间的格式化、解析等功能。示例...
日期操作工具类,主要实现了日期的常用操作。 * * 在工具类中经常使用到工具类的格式化描述,这个主要是一个日期的操作类,所以日志格式主要使用 SimpleDateFormat的定义格式. * * 格式的意义如下: 日期和...
在Java编程中,日期处理是常见的任务之一,用于管理和计算日期和时间。Java提供了多种类和方法来处理日期,如`Date`、`SimpleDateFormat`和`Calendar`。以下是关于这些类和方法的详细说明: 1. **`java.util.Date`*...
第一部分关于JAVA的Date (参考关于JAVA的Date总结) 第二部分Date工具类(参考一个总结好的很好的关于JAVA的Date工具类)
在Java编程中,日期处理是常见的任务之一,用于管理和计算日期和时间。本文将深入探讨Java中的日期处理机制,特别是围绕`java.util.Date`和`java.util.Calendar`这两个核心类。 首先,`java.util.Date`类是Java中...
1. **Java日期处理**: - `java.time`包:Java 8引入的新时间日期API,提供了`LocalDate`, `LocalTime`, `LocalDateTime`等类,它们提供了丰富的日期和时间操作功能。 - `SimpleDateFormat`:旧版日期格式化工具,...