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;
        }
    }
}

 

posted @ 2013-11-09 17:02  霍哥  阅读(605)  评论(0编辑  收藏  举报