努力幸福
猫和球的故事
Java处理时间的总结(转)
1
/** */
/**
2
* 有关日期工具类(extends TimeUtil)
3
*
4
* TimeUtil主要功能有:
5
* 1.各种日期类型(字符,util.Date,sql.Date,Calendar等)转换
6
* 2.获取指定日期的年份,月份,日份,小时,分,秒,毫秒
7
* 3.获取当前/系统日期(指定日期格式)
8
* 4.获取字符日期一个月的天数
9
* 5.获取指定月份的第一天,最后一天
10
*
11
* DateUtil主要功能有:
12
* 1.日期比较
13
* 2.获取2个字符日期的天数差,周数差,月数差,年数差
14
* 3.日期添加
15
* 4.判断给定日期是不是润年
16
*/
package
com.aimtime.financing.service.util;
17
import
java.util.Calendar;
18
import
java.util.Date;
19
import
java.util.GregorianCalendar;
20
import
java.text.
*
;
public
abstract
class
TimeUtil
{
21
22
//
---当前日期的年,月,日,时,分,秒
23
public
static
Calendar now
=
Calendar.getInstance();
24
int
year
=
now.get( Calendar.YEAR );
25
int
date
=
now.get( Calendar.DAY_OF_MONTH );
26
int
month
=
now.get( Calendar.MONTH )
+
1
;
27
int
hour
=
now.get( Calendar.HOUR );
28
int
min
=
now.get( Calendar.MINUTE );
29
int
sec
=
now.get( Calendar.SECOND );
30
31
//
-------------------------------日期类型转换---------------------------------------------------------------------------
32
/** */
/**
33
* 字符型日期转化util.Date型日期
34
* @Param:p_strDate 字符型日期
35
*
@param
p_format 格式:"yyyy-MM-dd" / "yyyy-MM-dd hh:mm:ss"
36
* @Return:java.util.Date util.Date型日期
37
* @Throws: ParseException
38
* @Author: zhuqx
39
* @Date: 2006-10-31
40
*/
41
public
static
java.util.Date toUtilDateFromStrDateByFormat( String p_strDate, String p_format )
42
throws
ParseException
{
43
java.util.Date l_date
=
null
;
44
java.text.DateFormat df
=
new
java.text.SimpleDateFormat( p_format );
45
if
( p_strDate
!=
null
&&
(
!
""
.equals( p_strDate ) )
&&
p_format
!=
null
&&
(
!
""
.equals( p_format ) ) )
{
46
l_date
=
df.parse( p_strDate );
47
}
48
return
l_date;
49
}
50
51
/** */
/**
52
* 字符型日期转化成sql.Date型日期
53
*
@param
p_strDate 字符型日期
54
*
@return
java.sql.Date sql.Date型日期
55
*
@throws
ParseException
56
* @Author: zhuqx
57
* @Date: 2006-10-31
58
*/
59
public
static
java.sql.Date toSqlDateFromStrDate( String p_strDate )
throws
ParseException
{
60
java.sql.Date returnDate
=
null
;
61
java.text.DateFormat sdf
=
new
java.text.SimpleDateFormat();
62
if
( p_strDate
!=
null
&&
(
!
""
.equals( p_strDate ) ) )
{
63
returnDate
=
new
java.sql.Date( sdf.parse( p_strDate ).getTime() );
64
}
65
return
returnDate;
66
}
67
68
/** */
/**
69
* util.Date型日期转化指定格式的字符串型日期
70
*
@param
p_date Date
71
*
@param
p_format String
72
* 格式1:"yyyy-MM-dd"
73
* 格式2:"yyyy-MM-dd hh:mm:ss EE"
74
* 格式3:"yyyy年MM月dd日 hh:mm:ss EE"
75
* 说明: 年-月-日 时:分:秒 星期 注意MM/mm大小写
76
*
@return
String
77
* @Author: zhuqx
78
* @Date: 2006-10-31
79
*/
80
public
static
String toStrDateFromUtilDateByFormat( java.util.Date p_utilDate, String p_format )
throws
ParseException
{
81
String l_result
=
""
;
82
if
( p_utilDate
!=
null
)
{
83
SimpleDateFormat sdf
=
new
SimpleDateFormat( p_format );
84
l_result
=
sdf.format( p_utilDate );
85
}
86
return
l_result;
87
}
88
89
/** */
/**
90
* util.Date型日期转化转化成Calendar日期
91
*
@param
p_utilDate Date
92
*
@return
Calendar
93
* @Author: zhuqx
94
* @Date: 2006-10-31
95
*/
96
public
static
Calendar toCalendarFromUtilDate(java.util.Date p_utilDate)
{
97
Calendar c
=
Calendar.getInstance();
98
c.setTime(p_utilDate);
99
return
c;
100
}
101
102
/** */
/**
103
* util.Date型日期转化sql.Date(年月日)型日期
104
* @Param: p_utilDate util.Date型日期
105
* @Return: java.sql.Date sql.Date型日期
106
* @Author: zhuqx
107
* @Date: 2006-10-31
108
*/
109
public
static
java.sql.Date toSqlDateFromUtilDate( java.util.Date p_utilDate )
{
110
java.sql.Date returnDate
=
null
;
111
if
( p_utilDate
!=
null
)
{
112
returnDate
=
new
java.sql.Date( p_utilDate.getTime() );
113
}
114
return
returnDate;
115
}
116
117
/** */
/**
118
* util.Date型日期转化sql.Time(时分秒)型日期
119
* @Param: p_utilDate util.Date型日期
120
* @Return: java.sql.Time sql.Time型日期
121
* @Author: zhuqx
122
* @Date: 2006-10-31
123
*/
124
public
static
java.sql.Time toSqlTimeFromUtilDate( java.util.Date p_utilDate )
{
125
java.sql.Time returnDate
=
null
;
126
if
( p_utilDate
!=
null
)
{
127
returnDate
=
new
java.sql.Time( p_utilDate.getTime() );
128
}
129
return
returnDate;
130
}
131
132
/** */
/**
133
* util.Date型日期转化sql.Date(时分秒)型日期
134
* @Param: p_utilDate util.Date型日期
135
* @Return: java.sql.Timestamp sql.Timestamp型日期
136
* @Author: zhuqx
137
* @Date: 2006-10-31
138
*/
139
public
static
java.sql.Timestamp toSqlTimestampFromUtilDate( java.util.Date p_utilDate )
{
140
java.sql.Timestamp returnDate
=
null
;
141
if
( p_utilDate
!=
null
)
{
142
returnDate
=
new
java.sql.Timestamp( p_utilDate.getTime() );
143
}
144
return
returnDate;
145
}
146
147
/** */
/**
148
* sql.Date型日期转化util.Date型日期
149
* @Param: sqlDate sql.Date型日期
150
* @Return: java.util.Date util.Date型日期
151
* @Author: zhuqx
152
* @Date: 2006-10-31
153
*/
154
public
static
java.util.Date toUtilDateFromSqlDate( java.sql.Date p_sqlDate )
{
155
java.util.Date returnDate
=
null
;
156
if
( p_sqlDate
!=
null
)
{
157
returnDate
=
new
java.util.Date( p_sqlDate.getTime() );
158
}
159
return
returnDate;
160
}
161
162
//
-----------------获取指定日期的年份,月份,日份,小时,分,秒,毫秒----------------------------
163
/** */
/**
164
* 获取指定日期的年份
165
*
@param
p_date util.Date日期
166
*
@return
int 年份
167
*
@author
zhuqx
168
* @Date: 2006-10-31
169
*/
170
public
static
int
getYearOfDate( java.util.Date p_date )
{
171
java.util.Calendar c
=
java.util.Calendar.getInstance();
172
c.setTime( p_date );
173
return
c.get( java.util.Calendar.YEAR );
174
}
175
176
/** */
/**
177
* 获取指定日期的月份
178
*
@param
p_date util.Date日期
179
*
@return
int 月份
180
*
@author
zhuqx
181
* @Date: 2006-10-31
182
*/
183
public
static
int
getMonthOfDate( java.util.Date p_date )
{
184
java.util.Calendar c
=
java.util.Calendar.getInstance();
185
c.setTime( p_date );
186
return
c.get( java.util.Calendar.MONTH )
+
1
;
187
}
188
189
/** */
/**
190
* 获取指定日期的日份
191
*
@param
p_date util.Date日期
192
*
@return
int 日份
193
*
@author
zhuqx
194
* @Date: 2006-10-31
195
*/
196
public
static
int
getDayOfDate( java.util.Date p_date )
{
197
java.util.Calendar c
=
java.util.Calendar.getInstance();
198
c.setTime( p_date );
199
return
c.get( java.util.Calendar.DAY_OF_MONTH );
200
}
201
202
/** */
/**
203
* 获取指定日期的小时
204
*
@param
p_date util.Date日期
205
*
@return
int 日份
206
*
@author
zhuqx
207
* @Date: 2006-10-31
208
*/
209
public
static
int
getHourOfDate( java.util.Date p_date )
{
210
java.util.Calendar c
=
java.util.Calendar.getInstance();
211
c.setTime( p_date );
212
return
c.get( java.util.Calendar.HOUR_OF_DAY );
213
}
214
215
/** */
/**
216
* 获取指定日期的分钟
217
*
@param
p_date util.Date日期
218
*
@return
int 分钟
219
*
@author
zhuqx
220
* @Date: 2006-10-31
221
*/
222
public
static
int
getMinuteOfDate( java.util.Date p_date )
{
223
java.util.Calendar c
=
java.util.Calendar.getInstance();
224
c.setTime( p_date );
225
return
c.get( java.util.Calendar.MINUTE );
226
}
227
228
/** */
/**
229
* 获取指定日期的秒钟
230
*
@param
p_date util.Date日期
231
*
@return
int 秒钟
232
*
@author
zhuqx
233
* @Date: 2006-10-31
234
*/
235
public
static
int
getSecondOfDate( java.util.Date p_date )
{
236
java.util.Calendar c
=
java.util.Calendar.getInstance();
237
c.setTime( p_date );
238
return
c.get( java.util.Calendar.SECOND );
239
}
240
241
/** */
/**
242
* 获取指定日期的毫秒
243
*
@param
p_date util.Date日期
244
*
@return
long 毫秒
245
*
@author
zhuqx
246
* @Date: 2006-10-31
247
*/
248
public
static
long
getMillisOfDate( java.util.Date p_date )
{
249
java.util.Calendar c
=
java.util.Calendar.getInstance();
250
c.setTime( p_date );
251
return
c.getTimeInMillis();
252
}
253
254
//
-----------------获取当前/系统日期(指定日期格式)-----------------------------------------------------------------------------------
255
/** */
/**
256
* 获取指定日期格式当前日期的字符型日期
257
*
@param
p_format 日期格式
258
* 格式1:"yyyy-MM-dd"
259
* 格式2:"yyyy-MM-dd hh:mm:ss EE"
260
* 格式3:"yyyy年MM月dd日 hh:mm:ss EE"
261
* 说明: 年-月-日 时:分:秒 星期 注意MM/mm大小写
262
*
@return
String 当前时间字符串
263
*
@author
zhuqx
264
* @Date: 2006-10-31
265
*/
266
public
static
String getNowOfDateByFormat( String p_format )
{
267
Date d
=
new
Date();
268
SimpleDateFormat sdf
=
new
SimpleDateFormat( p_format );
269
String dateStr
=
sdf.format( d );
270
return
dateStr;
271
}
272
273
/** */
/**
274
* 获取指定日期格式系统日期的字符型日期
275
*
@param
p_format 日期格式
276
* 格式1:"yyyy-MM-dd"
277
* 格式2:"yyyy-MM-dd hh:mm:ss EE"
278
* 格式3:"yyyy年MM月dd日 hh:mm:ss EE"
279
* 说明: 年-月-日 时:分:秒 星期 注意MM/mm大小写
280
*
@return
String 系统时间字符串
281
*
@author
zhuqx
282
* @Date: 2006-10-31
283
*/
284
public
static
String getSystemOfDateByFormat( String p_format )
{
285
long
time
=
System.currentTimeMillis();
286
Date d2
=
new
Date();
287
Date d
=
new
Date( time );
288
SimpleDateFormat sdf
=
new
SimpleDateFormat( p_format );
289
String dateStr
=
sdf.format( d );
290
return
dateStr;
291
}
292
293
/** */
/**
294
* 获取字符日期一个月的天数
295
*
@param
p_date
296
*
@return
天数
297
*
@author
zhuqx
298
*/
299
public
static
long
getDayOfMonth( Date p_date )
throws
ParseException
{
300
int
year
=
getYearOfDate(p_date);
301
int
month
=
getMonthOfDate( p_date )
-
1
;
302
int
day
=
getDayOfDate( p_date );
303
int
hour
=
getHourOfDate( p_date );
304
int
minute
=
getMinuteOfDate( p_date );
305
int
second
=
getSecondOfDate( p_date );
306
Calendar l_calendar
=
new
GregorianCalendar(year,month,day,hour,minute,second);
307
return
l_calendar.getActualMaximum( l_calendar.DAY_OF_MONTH );
308
}
309
310
//
-----------------获取指定月份的第一天,最后一天 ---------------------------------------------------------------------------
311
/** */
/**
312
* 获取指定月份的第一天
313
*
@param
p_strDate 指定月份
314
*
@param
p_formate 日期格式
315
*
@return
String 时间字符串
316
*
@author
zhuqx
317
* @Date: 2006-10-31
318
*/
319
public
static
String getDateOfMonthBegin( String p_strDate, String p_format )
throws
ParseException
{
320
java.util.Date date
=
toUtilDateFromStrDateByFormat( p_strDate,p_format );
321
return
toStrDateFromUtilDateByFormat( date,
"
yyyy-MM
"
)
+
"
-01
"
;
322
}
323
324
/** */
/**
325
* 获取指定月份的最后一天
326
*
@param
p_strDate 指定月份
327
*
@param
p_formate 日期格式
328
*
@return
String 时间字符串
329
*
@author
zhuqx
330
* @Date: 2006-10-31
331
*/
332
public
static
String getDateOfMonthEnd( String p_strDate, String p_format )
throws
ParseException
{
333
java.util.Date date
=
toUtilDateFromStrDateByFormat( getDateOfMonthBegin( p_strDate,p_format ),p_format );
334
Calendar calendar
=
Calendar.getInstance();
335
calendar.setTime( date );
336
calendar.add( Calendar.MONTH,
1
);
337
calendar.add( Calendar.DAY_OF_YEAR,
-
1
);
338
return
toStrDateFromUtilDateByFormat( calendar.getTime(),p_format );
339
}
340
341
}
package
com.aimtime.financing.service.util;
import
java.text.ParseException;
342
import
java.text.SimpleDateFormat;
343
import
java.util.Calendar;
344
import
java.util.Date;
345
import
java.util.GregorianCalendar;
import
org.apache.log4j.Logger;
/** */
/**
346
* @Functionality: 有关日期工具类
347
*/
348
public
class
DateUtil
extends
TimeUtil
{
349
/** */
/**
350
* Logger for this class
351
*/
352
private
static
final
Logger logger
=
Logger.getLogger( DateUtil.
class
);
353
354
/** */
/**
日期转化
*/
355
private
static
final
SimpleDateFormat sdf
=
new
SimpleDateFormat(
"
yyyy-MM-dd
"
);
356
357
/** */
/**
358
* @Functionality: 构造函数
359
*/
360
public
DateUtil()
{}
361
362
//
----------------------日期计算---------------------------------------------------------------------------------
363
364
/** */
/**
365
* 是否开始日期在结束日期之前(不包括相等)
366
*
@param
p_startDate
367
*
@param
p_endDate
368
*
@return
boolean 在结束日期前:ture;否则:false
369
*
@author
zhuqx
370
* @Date: 2006-10-31
371
*/
372
public
static
boolean
isStartDateBeforeEndDate( Date p_startDate, Date p_endDate )
throws
ParseException
{
373
long
l_startTime
=
getMillisOfDate( p_startDate );
374
long
l_endTime
=
getMillisOfDate( p_endDate );
375
return
( l_startTime
-
l_endTime
>
(
long
)
0
)
?
true
:
false
;
376
}
377
378
/** */
/**
379
* 获取2个字符日期的天数差
380
*
@param
p_startDate
381
*
@param
p_endDate
382
*
@return
天数差
383
*
@author
zhuqx
384
* @Date: 2006-10-31
385
*/
386
public
static
long
getDaysOfTowDiffDate( String p_startDate, String p_endDate )
throws
ParseException
{
387
388
Date l_startDate
=
toUtilDateFromStrDateByFormat( p_startDate,
"
yyyy-MM-dd
"
);
389
Date l_endDate
=
toUtilDateFromStrDateByFormat( p_endDate,
"
yyyy-MM-dd
"
);
390
long
l_startTime
=
getMillisOfDate( l_startDate );
391
long
l_endTime
=
getMillisOfDate( l_endDate );
392
long
betweenDays
=
(
long
) ( ( l_endTime
-
l_startTime )
/
(
1000
*
60
*
60
*
24
) );
393
return
betweenDays;
394
}
395
396
/** */
/**
397
* 获取2个字符日期的周数差
398
*
@param
p_startDate
399
*
@param
p_endDate
400
*
@return
周数差
401
*
@author
zhuqx
402
* @Date: 2006-10-31
403
*/
404
public
static
long
getWeeksOfTowDiffDate( String p_startDate, String p_endDate )
throws
ParseException
{
405
return
getDaysOfTowDiffDate(p_startDate,p_endDate)
/
7
;
406
}
407
408
/** */
/**
409
* 获取2个字符日期的月数差
410
*
@param
p_startDate
411
*
@param
p_endDate
412
*
@return
月数差
413
*
@author
zhuqx
414
* @Date: 2006-10-31
415
*/
416
public
static
long
getMonthsOfTowDiffDate( String p_startDate, String p_endDate )
throws
ParseException
{
417
return
getDaysOfTowDiffDate(p_startDate,p_endDate)
/
30
;
418
}
419
/** */
/**
420
* 获取2个字符日期的年数差
421
*
@param
p_startDate
422
*
@param
p_endDate
423
*
@return
年数差
424
*
@author
zhuqx
425
* @Date: 2006-10-31
426
*/
427
public
static
long
getYearsOfTowDiffDate( String p_startDate, String p_endDate )
throws
ParseException
{
428
return
getDaysOfTowDiffDate(p_startDate,p_endDate)
/
365
;
429
}
430
431
/** */
/**
432
* 在给定的日期基础上添加年,月,日、时,分,秒
433
* 例如要再2006-10-21(uitl日期)添加3个月,并且格式化为yyyy-MM-dd格式,
434
* 这里调用的方式为 addDate(2006-10-21,3,Calendar.MONTH,"yyyy-MM-dd")
435
*
@param
p_startDate 给定的日期
436
*
@param
p_count 时间的数量
437
*
@param
p_field 添加的域
438
*
@param
p_format 时间转化格式,例如:yyyy-MM-dd hh:mm:ss 或者yyyy-mm-dd等
439
*
@return
添加后格式化的时间
440
* @Date: 2006-10-31
441
*/
442
public
static
String addDate(Date p_startDate,
int
p_count,
int
p_field,String p_format)
throws
ParseException
{
443
444
//
年,月,日、时,分,秒
445
int
l_year
=
getYearOfDate(p_startDate);
446
int
l_month
=
getMonthOfDate( p_startDate )
-
1
;
447
int
l_day
=
getDayOfDate( p_startDate );
448
int
l_hour
=
getHourOfDate( p_startDate );
449
int
l_minute
=
getMinuteOfDate( p_startDate );
450
int
l_second
=
getSecondOfDate( p_startDate );
451
Calendar l_calendar
=
new
GregorianCalendar(l_year,l_month,l_day,l_hour,l_minute,l_second);
452
l_calendar.add(p_field,p_count);
453
return
toStrDateFromUtilDateByFormat(l_calendar.getTime(),p_format);
454
}
455
456
/** */
/**
457
* 判断给定日期是不是润年
458
*
@param
p_date 给定日期
459
*
@return
boolean 如果给定的年份为闰年,则返回 true;否则返回 false。
460
* @Date: 2006-10-31
461
*/
462
public
static
boolean
isLeapYear(Date p_date)
{
463
int
l_year
=
getYearOfDate( p_date );
464
GregorianCalendar l_calendar
=
new
GregorianCalendar();
465
return
l_calendar.isLeapYear( l_year );
466
}
467
468
}
package
com.aimtime.financing.service.util;
import
java.text.ParseException;
469
import
java.util.Calendar;
470
import
java.util.Date;
import
junit.framework.TestCase;
import
org.apache.log4j.Logger;
public
class
DateUtilTest
extends
TestCase
{
471
/** */
/**
472
* Logger for this class
473
*/
474
private
static
final
Logger logger
=
Logger.getLogger( DateUtilTest.
class
);
475
476
DateUtil dateUtil;
477
protected
void
setUp()
throws
Exception
{
478
logger.debug(
"
setUp() - start
"
);
479
480
super
.setUp();
481
dateUtil
=
new
DateUtil();
482
483
logger.debug(
"
setUp() - end
"
);
484
}
485
486
protected
void
tearDown()
throws
Exception
{
487
logger.debug(
"
tearDown() - start
"
);
488
489
super
.tearDown();
490
491
logger.debug(
"
tearDown() - end
"
);
492
}
493
494
/** */
/**
495
* 获取2个字符日期的天数差
496
*
@param
p_startDate
497
*
@param
p_endDate
498
*
@return
天数差
499
*
@author
zhuqx
500
*/
501
public
void
testGetDayOfTowDiffDate()
throws
ParseException
{
502
logger.debug(
"
testGetDayOfTowDiffDate() - start
"
);
503
504
String startDate
=
"
2005-05-01
"
;
505
String endDate
=
"
2006-09-30
"
;
506
long
day
=
dateUtil.getDaysOfTowDiffDate( startDate,endDate );
507
logger.debug(
"
day=========
"
+
day);
508
logger.debug(
"
week=========
"
+
day
/
7
);
509
logger.debug(
"
month=========
"
+
day
/
30
);
510
logger.debug(
"
year=========
"
+
day
/
365
);
511
logger.debug(
"
testGetDayOfTowDiffDate() - end
"
);
512
}
513
/** */
/**
514
* 获取字符日期一个月的天数
515
*
@param
p_date
516
*
@return
天数
517
*
@author
zhuqx
518
*/
519
public
void
atestGetDayOfMonth()
throws
ParseException
{
520
logger.debug(
"
testGetDayOfTowDiffDate() - start
"
);
521
522
String l_date
=
"
2006-02-01
"
;
523
String l_format
=
"
yyyy-MM-dd
"
;
524
long
day
=
dateUtil.getDayOfMonth( dateUtil.toUtilDateFromStrDateByFormat( l_date,l_format ) );
525
logger.debug(
"
day=========
"
+
day);
526
logger.debug(
"
testGetDayOfTowDiffDate() - end
"
);
527
}
528
529
//
-------------------------------日期转换---------------------------------------------------------------------------
530
/** */
/**
531
* 字符串型转化util.Date
532
* @Param: p_strDate 字符串型日期
533
* @Return: java.util.Date util.Date
534
* @Throws: ParseException
535
* @Author: zhuqx
536
* @Date: 2006-10-31
537
*/
538
public
void
atestToUtilDateByFormat()
throws
ParseException
{
539
logger.debug(
"
testGetDayOfTowDiffDate() - start
"
);
540
541
String l_date
=
"
2005-05-01
"
;
542
Date day
=
dateUtil.toUtilDateFromStrDateByFormat( l_date,
"
yyyy-MM-dd
"
);
543
logger.debug(
"
java.util.Date =========
"
+
day);
544
545
logger.debug(
"
testGetDayOfTowDiffDate() - end
"
);
546
}
547
/** */
/**
548
* 字符型日期转化成sql.Date型日期
549
*
@param
p_strDate 字符型日期
550
*
@return
java.sql.Date sql.Date型日期
551
*
@throws
ParseException
552
*
@author
shizhuoyang
553
*/
554
public
void
atestToSqlDatet()
throws
ParseException
{
555
logger.debug(
"
testToSqlDatet() - start
"
);
556
557
String l_date
=
"
2005-05-01
"
;
558
Date day
=
dateUtil.toSqlDateFromStrDate( l_date );
559
logger.debug(
"
java.sql.Date=========
"
+
day);
560
561
logger.debug(
"
testToSqlDatet() - end
"
);
562
}
563
/** */
/**
564
* util.Date型日期转化指定的格式字符串型
565
*
@param
p_date Date
566
*
@param
p_format String
567
* 格式:"yyyy-MM-dd" / "yyyy-MM-dd hh:mm:ss EE" 年-月-日 时:分:秒 星期 注意MM/mm大小写
568
*
@return
String
569
* @Author: zhuqx
570
* @Date: 2006-10-31
571
*/
572
public
void
atestToStrDateByFormat()
throws
ParseException
{
573
logger.debug(
"
testToStrDateByFormat() - start
"
);
574
575
java.util.Date l_date
=
new
java.util.Date();
576
String day
=
dateUtil.toStrDateFromUtilDateByFormat( l_date,
"
yyyy-MM-dd
"
);
577
String day2
=
dateUtil.toStrDateFromUtilDateByFormat( l_date,
"
yyyy-MM-dd hh:mm:ss EE
"
);
578
logger.debug(
"
string-Date-yyyy-MM-dd=========
"
+
day);
579
logger.debug(
"
string-Date-yyyy-MM-dd hh:mm:ss=========
"
+
day2);
580
581
logger.debug(
"
testToStrDateByFormat() - end
"
);
582
}
583
/** */
/**
584
* util.Date型日期转化sql.Date型日期
585
* @Param: p_utilDate util.Date型日期
586
* @Return: java.sql.Date sql.Date型日期
587
* @Author: zhuqx
588
* @Date: 2006-10-31
589
*/
590
public
void
atestToSqlDateFromUtilDate()
throws
ParseException
{
591
logger.debug(
"
testToStrDateByFormat() - start
"
);
592
593
java.util.Date l_date
=
new
java.util.Date();
594
java.sql.Date day
=
dateUtil.toSqlDateFromUtilDate( l_date);
595
logger.debug(
"
java.sql.Date-=========
"
+
day);
596
597
logger.debug(
"
testToStrDateByFormat() - end
"
);
598
}
599
/** */
/**
600
* sql.Date型日期转化util.Date型日期
601
* @Param: sqlDate sql.Date型日期
602
* @Return: java.util.Date util.Date型日期
603
* @Author: zhuqx
604
* @Date: 2006-10-31
605
*/
606
public
void
atestToUtilDateFromSqlDate()
throws
ParseException
{
607
logger.debug(
"
testToStrDateByFormat() - start
"
);
608
609
java.sql.Date l_date
=
dateUtil.toSqlDateFromStrDate(
"
2005-05-01
"
);
610
java.util.Date date
=
dateUtil.toUtilDateFromSqlDate( l_date);
611
logger.debug(
"
java.util.Date-=========
"
+
date);
612
613
logger.debug(
"
testToStrDateByFormat() - end
"
);
614
}
615
616
//
-----------------获取日期(各种日期格式)-----------------------------------------------------------------------------------
617
/** */
/**
618
* 获取当前日期的字符化处理
619
*
@param
p_format 日期格式
620
*
@return
String 当前时间字符串
621
*
@author
zhuqx
622
* @Date: 2006-10-31
623
*/
624
public
void
atestGetNowOfDateByFormat()
throws
ParseException
{
625
logger.debug(
"
testGetNowOfDate() - start
"
);
626
//
yyyy年MM月dd日 hh:mm:ss EE
627
String date
=
dateUtil.getNowOfDateByFormat(
"
yyyyMM
"
);
628
logger.debug(
"
java.util.Date-=========
"
+
date);
629
630
logger.debug(
"
testGetNowOfDate() - end
"
);
631
}
632
633
/** */
/**
634
* 获取指定日期格式系统日期的字符型日期
635
*
@param
p_format 日期格式
636
* 格式1:"yyyy-MM-dd"
637
* 格式2:"yyyy-MM-dd hh:mm:ss EE"
638
* 格式3:"yyyy年MM月dd日 hh:mm:ss EE"
639
* 说明: 年-月-日 时:分:秒 星期 注意MM/mm大小写
640
*
@return
String 系统时间字符串
641
*
@author
zhuqx
642
* @Date: 2006-10-31
643
*/
644
public
void
atestGetSystemOfDateByFormat()
throws
ParseException
{
645
logger.debug(
"
testGetSystemOfDateByFormat() - start
"
);
646
//
yyyy年MM月dd日 hh:mm:ss EE
647
String date
=
dateUtil.getSystemOfDateByFormat(
"
yyyyMM
"
);
648
logger.debug(
"
java.util.Date-=========
"
+
date);
649
650
logger.debug(
"
testGetSystemOfDateByFormat() - end
"
);
651
}
652
653
/** */
/**
654
* 获取指定月份的第一天
655
*
@param
p_strdate 指定月份
656
*
@param
p_formate 日期格式
657
*
@return
String 时间字符串
658
*
@author
zhuqx
659
* @Date: 2006-10-31
660
*/
661
public
void
atestGetMonthBegin()
throws
ParseException
{
662
logger.debug(
"
testGetMonthBegin() - start
"
);
663
//
yyyy年MM月dd日 hh:mm:ss EE
664
String l_strDate
=
"
2005-09-11
"
;
665
String l_formate
=
"
yyyy-MM-dd
"
;
666
String date
=
dateUtil.getDateOfMonthBegin( l_strDate,l_formate );
667
logger.debug(
"
java.util.Date-=========
"
+
date);
668
669
logger.debug(
"
testGetMonthBegin() - end
"
);
670
}
671
672
/** */
/**
673
* 取得指定月份的最后一天
674
*
@param
p_strDate 指定月份
675
*
@param
p_formate 日期格式
676
*
@return
String 时间字符串
677
*
@author
zhuqx
678
* @Date: 2006-10-31
679
*/
680
public
void
atestGetMonthEnd()
throws
ParseException
{
681
logger.debug(
"
testGetMonthBegin() - start
"
);
682
//
yyyy年MM月dd日 hh:mm:ss EE
683
String l_strDate
=
"
2006-02-11
"
;
684
String l_formate
=
"
yyyy-MM-dd
"
;
685
String date
=
dateUtil.getDateOfMonthEnd( l_strDate,l_formate );
686
logger.debug(
"
java.util.Date-=========
"
+
date);
687
688
logger.debug(
"
testGetMonthBegin() - end
"
);
689
}
690
691
/** */
/**
692
* 获取指定日期的年份,月份,日份,小时,分,秒,毫秒
693
*
@param
p_date util.Date日期
694
*
@return
int 年份
695
*
@author
zhuqx
696
* @Date: 2006-10-31
697
*/
698
public
void
atestGetYearOfDate()
throws
ParseException
{
699
logger.debug(
"
testGetMonthBegin() - start
"
);
700
//
yyyy年MM月dd日 hh:mm:ss EE
701
String l_strDate
=
"
2004-02-11 08:25:15
"
;
702
String l_format
=
"
yyyy-MM-dd hh:mm:ss
"
;
703
int
year
=
dateUtil.getYearOfDate( dateUtil.toUtilDateFromStrDateByFormat( l_strDate,l_format ));
704
int
month
=
dateUtil.getMonthOfDate( dateUtil.toUtilDateFromStrDateByFormat( l_strDate,l_format ));
705
int
day
=
dateUtil.getDayOfDate( dateUtil.toUtilDateFromStrDateByFormat( l_strDate,l_format ));
706
int
hour
=
dateUtil.getHourOfDate( dateUtil.toUtilDateFromStrDateByFormat( l_strDate,l_format ));
707
int
minute
=
dateUtil.getMinuteOfDate( dateUtil.toUtilDateFromStrDateByFormat( l_strDate,l_format ));
708
int
second
=
dateUtil.getSecondOfDate( dateUtil.toUtilDateFromStrDateByFormat( l_strDate,l_format ));
709
long
millis
=
dateUtil.getMillisOfDate( dateUtil.toUtilDateFromStrDateByFormat( l_strDate,l_format ));
710
711
logger.debug(
"
year==========
"
+
year);
712
logger.debug(
"
month==========
"
+
month);
713
logger.debug(
"
day==========
"
+
day);
714
logger.debug(
"
hour==========
"
+
hour);
715
logger.debug(
"
minute==========
"
+
minute);
716
logger.debug(
"
second==========
"
+
second);
717
logger.debug(
"
millis==========
"
+
millis);
718
719
logger.debug(
"
testGetMonthBegin() - end
"
);
720
}
721
722
/** */
/**
723
* 是否开始日期在结束日期之前
724
*
@param
p_startDate
725
*
@param
p_endDate
726
*
@return
boolean 在结束日期前:ture;否则:false
727
*
@author
zhuqx
728
*/
729
public
void
atestIsStartDateBeforeEndDate()
throws
ParseException
{
730
Date l_startDate
=
dateUtil.toUtilDateFromStrDateByFormat(
"
2005-02-11
"
,
"
yyyy-MM-dd
"
);
731
Date l_endDate
=
dateUtil.toUtilDateFromStrDateByFormat(
"
2005-02-11
"
,
"
yyyy-MM-dd
"
);
732
boolean
isBofore
=
dateUtil.isStartDateBeforeEndDate(l_startDate,l_endDate );
733
logger.debug(
"
isBofore==
"
+
isBofore);
734
}
735
736
/** */
/**
737
* 在当前的时间基础上添加月、天、或者其他
738
* 例如添加3个月,并且格式化为yyyy-MM-dd格式,
739
* 这里调用的方式为addMonth(3,Calendar.MONTH,"yyyy-MM-dd")
740
*
@param
p_count 时间的数量
741
*
@param
p_field 添加的域
742
*
@param
p_format 时间转化格式,例如:yyyy-MM-dd hh:mm:ss 或者yyyy-mm-dd等
743
*
@return
添加后格式化的时间
744
* @Date: 2006-10-31
745
*/
746
public
void
atestAddDate()
throws
ParseException
{
747
Date l_startDate
=
dateUtil.toUtilDateFromStrDateByFormat(
"
2006-02-27 07:59:59
"
,
"
yyyy-MM-dd hh:mm:ss
"
);
748
int
l_count
=
2
;
749
//
int l_field = Calendar.YEAR;
750
//
int l_field = Calendar.MONTH;
751
int
l_field
=
Calendar.DATE;
752
//
int l_field = Calendar.HOUR;
753
//
int l_field = Calendar.MINUTE;
754
//
int l_field = Calendar.SECOND;
755
String l_format
=
"
yyyy-MM-dd hh:mm:ss
"
;
756
String date
=
this
.dateUtil.addDate( l_startDate,l_count,l_field,l_format );
757
logger.debug(
"
addDate============
"
+
date );
758
}
759
760
/** */
/**
761
* 判断给定日期是不是润年
762
*
@param
p_date 给定日期
763
*
@return
boolean 如果给定的年份为闰年,则返回 true;否则返回 false。
764
* @Date: 2006-10-31
765
*/
766
public
void
atestIsLeapYear()
throws
ParseException
{
767
768
Date l_date
=
dateUtil.toUtilDateFromStrDateByFormat(
"
2000-01-25
"
,
"
yyyy-MM-dd
"
);
769
boolean
isLeap
=
dateUtil.isLeapYear( l_date );
770
logger.debug(
"
isLeapYear=
"
+
isLeap );
771
}
772
773
}
posted on 2008-06-18 15:05
球球
阅读(600)
评论(0)
编辑
收藏
所属分类:
Java
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © 球球
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
导航
BlogJava
首页
新随笔
联系
聚合
管理
统计
随笔 - 2
文章 - 17
评论 - 0
引用 - 0
留言簿
(1)
给我留言
查看公开留言
查看私人留言
文章分类
(19)
Java(1)
(rss)
Javascript(2)
(rss)
Oracle(10)
(rss)
Other(4)
(rss)
Struts(2)
(rss)
文章档案
(19)
2009年4月 (2)
2009年3月 (3)
2008年6月 (14)
积分与排名
积分 - 9684
排名 - 2422
最新随笔
1. Eclipse快捷键大全(转载)
2. MyEclipse6.5使用技巧
3. Oracle中ESCAPE关键字用法
4. Oracle中的DECODE函数
5. JavaScript中的document.all和document.getElementById
6. 省市联动菜单
7. 影响Oracle汉字显示的字符集问题
8. 外键未加索引和加索引的区别
9. Oracle中的TOP(order by 结合使用rownum)
10. Oracle中的模糊查询
11. Java处理时间的总结(转)
12. CSS,HTML常用代码整理
13. JspSmartUpload上传下载全攻略
14. Display Tag使用小记
15. Oracle 存储过程的基本语法
16. 在Oracle中实现各种日期处理
17. Oracle10g 初始化参数说明
18. JS刷新框架子页面的七种方法
19. Struts标签
最新评论