`
ifWhileCaseFor
  • 浏览: 8330 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java日期处理

 
阅读更多

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

字母

日期或时间元素

表示

示例

G

Era 标志符

Text

AD

y

Year

1996; 96

M

年中的月份

Month

July; Jul; 07

w

年中的周数

Number

27

W

月份中的周数

Number

2

D

年中的天数

Number

189

d

月份中的天数

Number

10

F

月份中的星期

Number

2

E

星期中的天数

Text

Tuesday; Tue

a

Am/pm 标记

Text

PM

H

一天中的小时数(0-23

Number

0

k

一天中的小时数(1-24

Number

24

K

am/pm 中的小时数(0-11

Number

0

h

am/pm 中的小时数(1-12

Number

12

m

小时中的分钟数

Number

30

s

分钟中的秒数

Number

55

S

毫秒数

Number

978

z

时区

General time zone

Pacific Standard Time; PST; GMT-08:00

Z

时区

RFC 822 time zone

-0800


经常使用SimpleDateFormat类下的formatDate 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 parseString 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());
	}
}

 

总结

StringDate以及DateString使用的是SimpleDateFormat

 

DateCalendar以及CalendarDate使用的是Calendar下的setTimeDate date)以及Clendar下的Date getTime()方法

 

 

分享到:
评论

相关推荐

    java日期处理大全

    ### Java日期处理大全:掌握时间的艺术 在Java编程中,日期和时间的处理是不可或缺的一部分,尤其是在涉及到数据记录、时间戳、定时任务等场景时。本文将深入探讨Java中的日期处理技术,涵盖从基础到进阶的各种技巧...

    java日期处理总结

    java中关于日期处理的总结,包含各种日期格式之间的转java.util.Date(已经不提倡使用,该类的方法比较少) java.util.Calendar(抽象类) java.util.GregorianCalendar(是Calendar的子类,日期处理时候经常使用该类)****...

    Java日期处理工具类

    基本涵盖了各种场景的日期处理需要,包括时间类型转换,获取N天前后,月初月末,某段时间按天拆分等功能,欢迎使用。

    java日期处理方法

    ### Java日期处理方法 在Java开发中,对日期与时间的操作是极其常见且重要的一个环节。无论是处理用户的出生年月日、注册日期还是订单的创建时间等,都需要使用到Java提供的日期类进行处理。本文将深入探讨Java中的...

    常用代码:java日期处理

    这篇博客"常用代码:java日期处理"很可能包含了关于如何在Java中有效地处理日期的实用示例和方法。这里我们将深入探讨Java日期处理的核心概念、API和最佳实践。 1. **Java日期API的发展历程** - Java 1.0引入了`...

    DateHandler.java日期处理类Java文件下载.rar

    DateHandler.java日期处理类Java文件下载,有些功能很不错哦,比如计算是否是季度末、计算从现在开始几天后的时间、得到当前时间,用于文件名,使用yyyyMMddHHmmss格式、比较日期,与现在-N天的日期对比、比较日期,...

    Java日期处理类 自己整理的

    自己整理的Java日期处理类 。包含获取两个之间段之间的天数、月初日期,月末日期、一个时间段之间的所有的日期,月份 一周的第一天,最后一天、 当前是周几等。仅供参考

    java日期处理小结

    在Java中,日期处理是一项常见的任务,涉及到多个类和方法。本篇文章主要总结了Java中关于日期处理的基础知识,包括`java.util.Calendar`,`java.util.GregorianCalendar`以及`java.util.Date`这三个核心类。 首先...

    java 日期处理工具类

    java 日期处理工具类

    java语言日期处理大全

    以下是一些关于Java日期处理的关键知识点,这些知识点在给定的文件中有所提及: 1. **获取当前日期**: Java通过`java.util.Date`类可以获取服务器上的当前日期。创建一个Date对象即会返回当前系统时间,如`Date ...

    Java中日期处理的代码

    根据给定的文件标题、描述、标签以及部分内容,我们可以总结出以下有关 Java 日期处理的知识点: ### 1. 导入必要的包 在 Java 中处理日期时,我们需要导入一些必要的包来支持日期时间的格式化、解析等功能。示例...

    java日期处理工具类

    日期操作工具类,主要实现了日期的常用操作。 * * 在工具类中经常使用到工具类的格式化描述,这个主要是一个日期的操作类,所以日志格式主要使用 SimpleDateFormat的定义格式. * * 格式的意义如下: 日期和...

    java日期处理.pdf

    在Java编程中,日期处理是常见的任务之一,用于管理和计算日期和时间。Java提供了多种类和方法来处理日期,如`Date`、`SimpleDateFormat`和`Calendar`。以下是关于这些类和方法的详细说明: 1. **`java.util.Date`*...

    java(日期处理大全)

    第一部分关于JAVA的Date (参考关于JAVA的Date总结) 第二部分Date工具类(参考一个总结好的很好的关于JAVA的Date工具类)

    java日期处理[文].pdf

    在Java编程中,日期处理是常见的任务之一,用于管理和计算日期和时间。本文将深入探讨Java中的日期处理机制,特别是围绕`java.util.Date`和`java.util.Calendar`这两个核心类。 首先,`java.util.Date`类是Java中...

    java日期和查询数据库生成XML文件类

    1. **Java日期处理**: - `java.time`包:Java 8引入的新时间日期API,提供了`LocalDate`, `LocalTime`, `LocalDateTime`等类,它们提供了丰富的日期和时间操作功能。 - `SimpleDateFormat`:旧版日期格式化工具,...

Global site tag (gtag.js) - Google Analytics