天天看點

java的日期工具類

<code>import</code> <code>java.text.ParseException;</code>

<code>import</code> <code>java.text.SimpleDateFormat;</code>

<code>import</code> <code>java.util.Date;</code>

<code>import</code> <code>java.util.TimeZone;</code>

<code>public</code> <code>class</code> <code>DateUtils {</code>

<code>/**定義常量**/</code>

<code>public</code> <code>static</code> <code>final</code> <code>String DATE_JFP_STR=</code><code>"yyyyMM"</code><code>;</code>

<code>public</code> <code>static</code> <code>final</code> <code>String DATE_FULL_STR = </code><code>"yyyy-MM-dd HH:mm:ss"</code><code>;</code>

<code>public</code> <code>static</code> <code>final</code> <code>String DATE_SMALL_STR = </code><code>"yyyy-MM-dd"</code><code>;</code>

<code>public</code> <code>static</code> <code>final</code> <code>String DATE_KEY_STR = </code><code>"yyMMddHHmmss"</code><code>;</code>

<code>/**</code>

<code>* 使用預設格式提取字元串日期</code>

<code>* @param strDate 日期字元串</code>

<code>* @return</code>

<code>*/</code>

<code>public</code> <code>static</code> <code>Date parse(String strDate) {</code>

<code>return</code> <code>parse(strDate,DATE_FULL_STR);</code>

<code>}</code>

<code>* 使用使用者格式提取字元串日期</code>

<code>* @param pattern 日期格式</code>

<code>public</code> <code>static</code> <code>Date parse(String strDate, String pattern) {</code>

<code>SimpleDateFormat df = </code><code>new</code> <code>SimpleDateFormat(pattern);</code>

<code>try</code> <code>{</code>

<code>return</code> <code>df.parse(strDate);</code>

<code>} </code><code>catch</code> <code>(ParseException e) {</code>

<code>e.printStackTrace();</code>

<code>return</code> <code>null</code><code>;</code>

<code>* 兩個時間比較</code>

<code>* @param date</code>

<code>public</code> <code>static</code> <code>int</code> <code>compareDateWithNow(Date date1){</code>

<code>Date date2 = </code><code>new</code> <code>Date();</code>

<code>int</code> <code>rnum =date1.compareTo(date2);</code>

<code>return</code> <code>rnum;</code>

<code>* 兩個時間比較(時間戳比較)</code>

<code>public</code> <code>static</code> <code>int</code> <code>compareDateWithNow(</code><code>long</code> <code>date1){</code>

<code>long</code> <code>date2 = dateToUnixTimestamp();</code>

<code>if</code><code>(date1&gt;date2){</code>

<code>return</code> <code>1</code><code>;</code>

<code>}</code><code>else</code> <code>if</code><code>(date1&lt;date2){</code>

<code>return</code> <code>-</code><code>1</code><code>;</code>

<code>}</code><code>else</code><code>{</code>

<code>return</code> <code>0</code><code>;</code>

<code>* 擷取系統目前時間</code>

<code>public</code> <code>static</code> <code>String getNowTime() {</code>

<code>SimpleDateFormat df = </code><code>new</code> <code>SimpleDateFormat(DATE_FULL_STR);</code>

<code>return</code> <code>df.format(</code><code>new</code> <code>Date());</code>

<code>public</code> <code>static</code> <code>String getNowTime(String type) {</code>

<code>SimpleDateFormat df = </code><code>new</code> <code>SimpleDateFormat(type);</code>

<code>* 擷取系統目前計費期</code>

<code>public</code> <code>static</code> <code>String getJFPTime() {</code>

<code>SimpleDateFormat df = </code><code>new</code> <code>SimpleDateFormat(DATE_JFP_STR);</code>

<code>* 将指定的日期轉換成Unix時間戳</code>

<code>* @param String date 需要轉換的日期 yyyy-MM-dd HH:mm:ss</code>

<code>* @return long 時間戳</code>

<code>public</code> <code>static</code> <code>long</code> <code>dateToUnixTimestamp(String date) {</code>

<code>long</code> <code>timestamp = </code><code>0</code><code>;</code>

<code>timestamp = </code><code>new</code> <code>SimpleDateFormat(DATE_FULL_STR).parse(date).getTime();</code>

<code>return</code> <code>timestamp;</code>

<code>* @param String date 需要轉換的日期 yyyy-MM-dd</code>

<code>public</code> <code>static</code> <code>long</code> <code>dateToUnixTimestamp(String date, String dateFormat) {</code>

<code>timestamp = </code><code>new</code> <code>SimpleDateFormat(dateFormat).parse(date).getTime();</code>

<code>* 将目前日期轉換成Unix時間戳</code>

<code>public</code> <code>static</code> <code>long</code> <code>dateToUnixTimestamp() {</code>

<code>long</code> <code>timestamp = </code><code>new</code> <code>Date().getTime();</code>

<code>* 将Unix時間戳轉換成日期</code>

<code>* @param long timestamp 時間戳</code>

<code>* @return String 日期字元串</code>

<code>public</code> <code>static</code> <code>String unixTimestampToDate(</code><code>long</code> <code>timestamp) {</code>

<code>SimpleDateFormat sd = </code><code>new</code> <code>SimpleDateFormat(DATE_FULL_STR);</code>

<code>sd.setTimeZone(TimeZone.getTimeZone(</code><code>"GMT+8"</code><code>));</code>

<code>return</code> <code>sd.format(</code><code>new</code> <code>Date(timestamp));</code>

本文轉自 夢朝思夕 51CTO部落格,原文連結:http://blog.51cto.com/qiangmzsx/1305082