天天看点

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