`
dadi520
  • 浏览: 144748 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Java 日期使用

阅读更多

对日期函数进行总结, 主要的API 有

1. java.util.Date

public Date(long date)

// 测试此日期是否在指定日期之后。
boolean after(Date when)

boolean before(Date when)

 

2. java.text.DateFormat

// 利用特殊的格式构造
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);

// 格式化日期
String  strDate = DateFormat.getDateInstance().format(myDate);

// 解析日期字符串,生成Date
java.util.Date = df.parse(StrDate);

 

3. java.text.SimpleDateFormat

 

// 用给定的模式和给定语言环境的默认日期格式符号构造 SimpleDateFormat
public SimpleDateFormat(String pattern,Locale locale)

 

 

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

 

日期和时间模式

结果

"yyyy.MM.dd G 'at' HH:mm:ss z"

2001.07.04 AD at 12:08:56 PDT

"EEE, MMM d, ''yy"

Wed, Jul 4, '01

"h:mm a"

12:08 PM

"hh 'o''clock' a, zzzz"

12 o'clock PM, Pacific Daylight Time

"K:mm a, z"

0:08 PM, PDT

"yyyyy.MMMMM.dd GGG hh:mm aaa"

02001.July.04 AD 12:08 PM

"EEE, d MMM yyyy HH:mm:ss Z"

Wed, 4 Jul 2001 12:08:56 -0700

"yyMMddHHmmssZ"

010704120856-0700

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"

2001-07-04T12:08:56.235-0700

 

4. java.util.Calendar / java.util.GregorianCalendar

//使用给定的 Date 设置此 Calendar 的时间。
public final void setTime(Date date);

//根据日历的规则,为给定的日历字段添加或减去指定的时间量。
//例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点:
// add(Calendar.DAY_OF_MONTH, -5)。
public abstract void add(int field,int amount)

//将指定的字段设置为未定义
public final void clear(int field)

//返回给定日历字段的值
public int get(int field)

//返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
public final Date getTime()

//将给定的日历字段设置为给定值
public void set(int field, int value)

 

5. 常用的函数如下

// java.util.Date -> java.sql.Date
public static java.sql.Date toSQLDate(java.util.Date date) {
	if (date == null) {
		return null;
	}		
	return new java.sql.Date(date.getTime());
}

// java.sql.Date -> java.util.Date
public static java.util.Date toUtilDate(java.sql.Date date) {
	if (date == null) {
		return null;
	}
	return new java.util.Date(date.getTime());
}

// 解析dateStr -> java.Util.Date
public static java.sql.Date toSQLDate(String dateStr) throws ParseException {		
	java.util.Date date = new SimpleDateFormat("yyyy-MM-dd").parse(dateStr);
	return date;
}

// 得到指定日期的每个月的开头一天
public static java.sql.Date getFirstDayOfMonth(java.sql.Date date) {
	java.util.Calendar cal = java.util.Calendar.getInstance();
	cal.setTime(new java.util.Date(date.getTime()));
	cal.set(Calendar.DAY_OF_MONTH, 1);
	return new java.sql.Date(cal.getTime().getTime());
}

// 把指定的日期不常用的字段清零
public static Date clearTimeOfDate(Date date) {
	Calendar cal = Calendar.getInstance();
	cal.setTimeInMillis(date.getTime());
	cal.clear(Calendar.AM_PM);
	cal.clear(Calendar.HOUR);
	cal.clear(Calendar.HOUR_OF_DAY);
	cal.clear(Calendar.MINUTE);
	cal.clear(Calendar.SECOND);
	cal.clear(Calendar.MILLISECOND);
	return cal.getTime();
}

// 判断连个日期是否相等(只比较年月日)
public static boolean isSameDay(Date d1, Date d2) {
	Calendar c1 = Calendar.getInstance();
	c1.setTime(d1);
	Calendar c2 = Calendar.getInstance();
	c2.setTime(d2);
	if (c1.get(Calendar.YEAR) == c2.get(Calendar.YEAR)
			&& c1.get(Calendar.MONTH) == c2.get(Calendar.MONTH)
			&& c1.get(Calendar.DAY_OF_MONTH) == c2
					.get(Calendar.DAY_OF_MONTH)) {
		return true;
	}
	return false;
}

// 得到当前的日期
public static Date getCurrentDate() {
	return Calendar.getInstance().getTime();
}

// 比较两个日期之间相差的秒数
public static int getSecondDiff(Date date, Date referenceTime) {
	return Math.round((date.getTime() - referenceTime.getTime()) / (1000));
}

// 将指定的日期相加 numofMonth月
public static Date shiftMonth(Date date, int numOfMonth) {
	Calendar cl = Calendar.getInstance();
	cl.setTime(date);
	cl.add(cl.MONTH, numOfMonth);
	return cl.getTime();
}

 

 

分享到:
评论

相关推荐

    java日期使用工作总结

    ### Java日期处理技术详解 #### 一、引言 在软件开发中,处理日期与时间是非常常见的需求之一。Java提供了多种工具和API来帮助开发者处理日期相关的任务,如计算未来日期、格式化日期以及解析文本数据等。本文将...

    JAVA日期与字符串的转换

    ### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...

    java日期格式转换

    ### Java日期格式转换详解 在Java开发中,对日期和时间进行操作是非常常见的需求之一。本文将基于给定文件中的代码示例,详细介绍如何在Java中实现日期格式的转换,并探讨其中涉及的关键知识点。 #### 一、理解...

    java 日期选择控件DateChooser

    在Java开发中,DateChooser控件可以使用第三方库来实现,比如JCalendar库中的JDateChooser,它是一个常用的日期选择组件,提供了丰富的功能和良好的兼容性。开发者只需将JCalendar库导入项目,然后在需要的地方实例...

    JAVA日期控件

    "JAVA日期控件"通常指的是Java Web应用程序中用于处理日期和时间输入的组件。这里我们将详细讨论如何在Java Web项目中实现一个前台时间控件,以提高用户体验。 首先,我们需要理解Java中的日期时间API。在Java 8...

    Java日期管理程序

    Java 日期管理程序 Java 日期管理程序是一种基于 Java 语言开发的日期管理工具,旨在帮助用户快速查询和管理日期...在本程序中,我们使用了 Java 语言和 Java Swing 库来实现日期管理程序,满足用户对日期管理的需求。

    java使用stream对日期排序

    在Java 8之前,我们通常使用`java.util.Date`和`java.text.SimpleDateFormat`来处理日期。然而,这些类存在一些设计上的问题,因此Java 8引入了新的日期时间API,包括`java.time.LocalDate`, `java.time....

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    Java日期转换

    这篇博客"Java日期转换"探讨了如何在Java中有效地转换和操作日期。Java提供了多种类库来支持日期和时间的操作,包括`java.util.Date`、`java.text.SimpleDateFormat`、`java.time`包中的类等。本文将详细讲解这些类...

    java日期类函数方法整理

    根据给定的文件信息,以下是对Java日期类函数方法的详细整理与解释: ### Java日期类函数方法概览 在Java中,处理日期和时间主要依赖于`java.util.Date`、`java.text.SimpleDateFormat`、`java.sql.Date`、`java....

    java实现日期控件

    然而,在Java环境中,我们通常会使用Java Swing或JavaFX来创建图形用户界面(GUI),这两个库都内置了日期选择控件。对于`My97DatePicker`,它更常用于Web开发,与Java后端进行交互,通过AJAX或JavaScript进行数据...

    将java的日期转换成中文的日期。

    将java的日期转换成中文的日期,可以直接使用的源文件。

    java日期时间操作函数代码

    如果这个文件包含了代码示例,你可以打开查看具体实现,进一步学习和理解Java日期时间操作的细节。 总之,理解和熟练掌握Java的日期时间操作对于开发人员来说至关重要,无论是在处理用户输入、记录日志还是进行复杂...

    JAVA日期判断方法小结

    "JAVA日期判断方法小结" 在JAVA语言中,日期判断是非常重要的一部分,以下是常见的日期判断方法的总结: 1. 判断某年是否为润年 判断某年是否为润年是日期判断的基本方法之一。该方法可以使用以下代码实现: ```...

    Java日期格式转换.doc

    在 Java 中,日期和时间通常使用 java.util.Date 类来表示,该类提供了对日期和时间的基本操作。然而,java.util.Date 类并不能直接满足日期格式转换的需求,因此需要使用其他类和方法来实现日期格式转换。 本文将...

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

    以下是一些关于“java日期和查询数据库生成XML文件类”的核心知识点: 1. **Java日期处理**: - `java.time`包:Java 8引入的新时间日期API,提供了`LocalDate`, `LocalTime`, `LocalDateTime`等类,它们提供了...

    JAVA Swing日期选择控件datepicker

    `Login.java` 文件可能是一个示例代码,展示了如何在登录界面中使用DatePicker组件。通常,登录界面可能并不需要日期选择功能,但如果应用需要记录用户的登录日期或者允许用户选择特定日期进行某些操作,那么...

    java日期时间转换大全

    ### Java日期时间转换大全 在Java编程中,处理日期和时间是常见的需求,尤其是在涉及到数据库操作、文件命名、日志记录等场景时。本文将详细解析如何在Java中进行日期和时间的转换,涵盖从字符串到日期对象的转换,...

    Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断)

    Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断);Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断);Java日期程序案例(日历,获取当前日期方法、日期查询、...

    Java日期选择器组件应用实例 源码.rar

    Java日期选择器组件应用实例 源码,定义了界面组件,有父窗口(Farm),不带日期参数的 DateChooser,定义了月历表格配色和滚动条颜色,本Java日历选择器源码文件功能说明:  [DateChooser.java] Java 日期选择控件...

Global site tag (gtag.js) - Google Analytics