ackage
com.bdvcd.utils;
002 |
003 | import java.text.ParseException; |
004 | import java.text.SimpleDateFormat; |
005 | import java.util.Date; |
006 | import java.util.TimeZone; |
007 |
008 | /** |
009 | * 文件名:DateUtils.java 日期处理相关工具类 |
010 | * 版本信息:V1.0 |
011 | * 日期:2013-03-11 |
012 | * Copyright BDVCD Corporation 2013 |
013 | * 版权所有 http://www.bdvcd.com |
014 | */ |
015 | public class
DateUtils { |
016 | |
017 | /**定义常量**/ |
018 | public
static final
String DATE_JFP_STR= "yyyyMM" ; |
019 | public
static final
String DATE_FULL_STR = "yyyy-MM-dd HH:mm:ss" ; |
020 | public
static final
String DATE_SMALL_STR = "yyyy-MM-dd" ; |
021 | public
static final
String DATE_KEY_STR = "yyMMddHHmmss" ; |
022 | |
023 | /** |
024 | * 使用预设格式提取字符串日期 |
025 | * @param strDate 日期字符串 |
026 | * @return |
027 | */ |
028 | public
static Date parse(String strDate) { |
029 | return
parse(strDate,DATE_FULL_STR); |
030 | } |
031 | |
032 | /** |
033 | * 使用用户格式提取字符串日期 |
034 | * @param strDate 日期字符串 |
035 | * @param pattern 日期格式 |
036 | * @return |
037 | */ |
038 | public
static Date parse(String strDate, String pattern) { |
039 | SimpleDateFormat df =
new SimpleDateFormat(pattern); |
040 | try
{ |
041 | return
df.parse(strDate); |
042 | }
catch (ParseException e) { |
043 | e.printStackTrace(); |
044 | return
null ; |
045 | } |
046 | } |
047 | |
048 | /** |
049 | * 两个时间比较 |
050 | * @param date |
051 | * @return |
052 | */ |
053 | public
static int
compareDateWithNow(Date date1){ |
054 | Date date2 =
new Date(); |
055 | int
rnum =date1.compareTo(date2); |
056 | return
rnum; |
057 | } |
058 | |
059 | /** |
060 | * 两个时间比较(时间戳比较) |
061 | * @param date |
062 | * @return |
063 | */ |
064 | public
static int
compareDateWithNow( long date1){ |
065 | long
date2 = dateToUnixTimestamp(); |
066 | if (date1>date2){ |
067 | return
1 ; |
068 | } else
if (date1<date2){ |
069 | return
- 1 ; |
070 | } else { |
071 | return
0 ; |
072 | } |
073 | } |
074 | |
075 |
076 | /** |
077 | * 获取系统当前时间 |
078 | * @return |
079 | */ |
080 | public
static String getNowTime() { |
081 | SimpleDateFormat df =
new SimpleDateFormat(DATE_FULL_STR); |
082 | return
df.format( new
Date()); |
083 | } |
084 | |
085 | /** |
086 | * 获取系统当前时间 |
087 | * @return |
088 | */ |
089 | public
static String getNowTime(String type) { |
090 | SimpleDateFormat df =
new SimpleDateFormat(type); |
091 | return
df.format( new
Date()); |
092 | } |
093 | |
094 | /** |
095 | * 获取系统当前计费期 |
096 | * @return |
097 | */ |
098 | public
static String getJFPTime() { |
099 | SimpleDateFormat df =
new SimpleDateFormat(DATE_JFP_STR); |
100 | return
df.format( new
Date()); |
101 | } |
102 | |
103 | /** |
104 | * 将指定的日期转换成Unix时间戳 |
105 | * @param String date 需要转换的日期 yyyy-MM-dd HH:mm:ss |
106 | * @return long 时间戳 |
107 | */ |
108 | public
static long
dateToUnixTimestamp(String date) { |
109 | long
timestamp = 0 ; |
110 | try
{ |
111 | timestamp =
new SimpleDateFormat(DATE_FULL_STR).parse(date).getTime(); |
112 | }
catch (ParseException e) { |
113 | e.printStackTrace(); |
114 | } |
115 | return
timestamp; |
116 | } |
117 | |
118 | /** |
119 | * 将指定的日期转换成Unix时间戳 |
120 | * @param String date 需要转换的日期 yyyy-MM-dd |
121 | * @return long 时间戳 |
122 | */ |
123 | public
static long
dateToUnixTimestamp(String date, String dateFormat) { |
124 | long
timestamp = 0 ; |
125 | try
{ |
126 | timestamp =
new SimpleDateFormat(dateFormat).parse(date).getTime(); |
127 | }
catch (ParseException e) { |
128 | e.printStackTrace(); |
129 | } |
130 | return
timestamp; |
131 | } |
132 | |
133 | /** |
134 | * 将当前日期转换成Unix时间戳 |
135 | * @return long 时间戳 |
136 | */ |
137 | public
static long
dateToUnixTimestamp() { |
138 | long
timestamp = new
Date().getTime(); |
139 | return
timestamp; |
140 | } |
141 | |
142 | |
143 | /** |
144 | * 将Unix时间戳转换成日期 |
145 | * @param long timestamp 时间戳 |
146 | * @return String 日期字符串 |
147 | */ |
148 | public
static String unixTimestampToDate( long
timestamp) { |
149 | SimpleDateFormat sd =
new SimpleDateFormat(DATE_FULL_STR); |
150 | sd.setTimeZone(TimeZone.getTimeZone( "GMT+8" )); |
151 | return
sd.format( new
Date(timestamp)); |
152 | } |
153 | } |