码家

Web Platform, Cloud and Mobile Application Development

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

package com.apple.sqm.common;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
/**
 * @author Junbos
 *
 */
public class DateHelper {

 private static final String DEFAULT_PATTERN = "yyyyMMddHHmmss";

 /**
  * @param time
  * @param pattern
  * @return
  */
 public static String timestamp2str(Timestamp time, String pattern) {
  if (time == null) {
   throw new IllegalArgumentException("Timestamp is null");
  }
  if (pattern != null && !"".equals(pattern)) {
   if (!"yyyyMMddHHmmss".equals(pattern)
     && !"yyyy-MM-dd HH:mm:ss".equals(pattern)
     && !"yyyy-MM-dd".equals(pattern)
     && !"MM/dd/yyyy".equals(pattern)){
    throw new IllegalArgumentException("Date format ["+pattern+"] is invalid");
   }
  }else{
   pattern = DEFAULT_PATTERN;
  }
  
  Calendar cal = Calendar.getInstance(TimeZone.getDefault());
  cal.setTime(time);
  SimpleDateFormat sdf = new SimpleDateFormat(pattern);
  return sdf.format(cal.getTime());
 }

 public static Timestamp str2Timestamp(String timeStr,String pattern)
 {
  Timestamp result = null;
  if (timeStr == null) {
   throw new IllegalArgumentException("Timestamp is null");
  }
  if (pattern != null && !"".equals(pattern)) {
   if (!"yyyyMMddHHmmss".equals(pattern)
     && !"yyyy-MM-dd HH:mm:ss".equals(pattern)
     && !"MM/dd/yyyy HH:mm:ss".equals(pattern)
     && !"yyyy-MM-dd".equals(pattern)
     && !"MM/dd/yyyy".equals(pattern)) {
    throw new IllegalArgumentException("Date format ["+pattern+"] is invalid");
   }
  }else{
   pattern = DEFAULT_PATTERN;
  }
  
  Date d = null;
  SimpleDateFormat sdf = new SimpleDateFormat(pattern);
  try {
   d = sdf.parse(timeStr);
   result = new Timestamp(d.getTime());
  } catch (Exception e) {
   e.printStackTrace();
  }
  return result;
 }
 public static void main(String[] args){
  System.out.println(str2Timestamp("2008-01-25 13:10:00","yyyy-MM-dd HH:mm:ss"));
  System.out.println(timestamp2str(new Timestamp(System.currentTimeMillis()),"yyyy-MM-dd HH:mm:ss"));
  System.out.println(str2Timestamp("01/25/2008","MM/dd/yyyy"));
 }
}

posted on 2011-11-01 10:26  海山  阅读(9770)  评论(0编辑  收藏  举报