JsonUtil-數據庫日期和json日期轉換

package com.zxt.basic.util;

import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;


/**
 * 
 * 類名稱:DatejsJsonValueProcessor  <br/>
 * 類描述:數據庫日期和json日期轉換  <br/>
 * 建立人:liheng   <br/>
 * 建立時間:Jul 19, 2011 12:50:10 PM  <br/>
 * 修改人:  <br/>
 * 修改時間:Jul 19, 2011 12:50:10 PM  <br/>
 * 修改備註:  <br/>
 * @version 1.0.0  
 *
 */
public class JsonUtil implements JsonValueProcessor {

    /** * 默認的日期轉換格式. */
    public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";

    /** * 日期轉換器. */
    private DateFormat dateFormat;

    /**
     * 構造方法.
     *
     * @param datePattern 日期格式
     */
    public JsonUtil(String datePattern) {
        try {
            dateFormat = new SimpleDateFormat(datePattern);
        } catch (Exception ex) {
            dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);
        }
    }
    /**
     * 默認構造方法
     * 建立一個新的實例 DatejsJsonValueProcessor.   
     *
     */
    public JsonUtil() {
    		dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);
    }

    /**
     * 轉換數組
     * @param value Object
     * @param jsonConfig 配置
     * @return Object
     */
    public Object processArrayValue(Object value, JsonConfig jsonConfig) {
        return process(value);
    }

    /**
     * 轉換對象.
     * @param key String
     * @param value Object
     * @param jsonConfig 配置
     * @return Object
     */
    public Object processObjectValue(String key, Object value,
        JsonConfig jsonConfig) {
        return process(value);
    }

    /**
     * 格式化日期.
     * @param value Object
     * @return Object
     */
    private Object process(Object value) {
        try {
        	if(value instanceof Calendar){
        		return dateFormat.format(new Timestamp(((java.util.Calendar) value).getTimeInMillis()));
        	}else{
        		return dateFormat.format((Date)value);
        	}           
        } catch (Exception ex) {
            return null;
        }
    }
}
相關文章
相關標籤/搜索