首页 > 代码库 > net.sf.json 日期 时间 格式化 方法

net.sf.json 日期 时间 格式化 方法

编写工具类

[java] view plaincopy
  1. import java.text.DateFormat;  
  2. import java.text.SimpleDateFormat;  
  3. import java.util.Date;  
  4.   
  5. import net.sf.json.JsonConfig;  
  6. import net.sf.json.processors.JsonValueProcessor;  
  7.   
  8. public class DateJsonValueProcessor implements JsonValueProcessor {  
  9.     /** 
  10.      * 字母 日期或时间元素 表示 示例 <br> 
  11.      * G Era 标志符 Text AD <br> 
  12.      * y 年 Year 1996; 96 <br> 
  13.      * M 年中的月份 Month July; Jul; 07 <br> 
  14.      * w 年中的周数 Number 27 <br> 
  15.      * W 月份中的周数 Number 2 <br> 
  16.      * D 年中的天数 Number 189 <br> 
  17.      * d 月份中的天数 Number 10 <br> 
  18.      * F 月份中的星期 Number 2 <br> 
  19.      * E 星期中的天数 Text Tuesday; Tue<br> 
  20.      * a Am/pm 标记 Text PM <br> 
  21.      * H 一天中的小时数(0-23) Number 0 <br> 
  22.      * k 一天中的小时数(1-24) Number 24<br> 
  23.      * K am/pm 中的小时数(0-11) Number 0 <br> 
  24.      * h am/pm 中的小时数(1-12) Number 12 <br> 
  25.      * m 小时中的分钟数 Number 30 <br> 
  26.      * s 分钟中的秒数 Number 55 <br> 
  27.      * S 毫秒数 Number 978 <br> 
  28.      * z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 <br> 
  29.      * Z 时区 RFC 822 time zone -0800 <br> 
  30.      */  
  31.     public static final String Default_DATE_PATTERN = "yyyy-MM-dd";  
  32.     private DateFormat dateFormat;  
  33.   
  34.     public DateJsonValueProcessor(String datePattern) {  
  35.     try {  
  36.         dateFormat = new SimpleDateFormat(datePattern);  
  37.     } catch (Exception e) {  
  38.         dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);  
  39.     }  
  40.     }  
  41.   
  42.     public Object processArrayValue(Object value, JsonConfig jsonConfig) {  
  43.     return process(value);  
  44.     }  
  45.   
  46.     public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {  
  47.     return process(value);  
  48.     }  
  49.   
  50.     private Object process(Object value) {  
  51.     return dateFormat.format((Date) value);  
  52.   
  53.     }  
  54. }  

 

 

进行测试

[java] view plaincopy
  1. import java.util.Date;  
  2. import java.util.HashMap;  
  3. import java.util.Map;  
  4.   
  5. import net.sf.json.JSONObject;  
  6. import net.sf.json.JsonConfig;  
  7.   
  8. public class Test {  
  9.     public static void main(String[] args) {  
  10.     Map<String, Object> map = new HashMap<String, Object>();  
  11.     map.put("time"new Date());  
  12.     map.put("name""yy");  
  13.     map.put("age"20);  
  14.     JsonConfig config = new JsonConfig();  
  15.     /** 
  16.      * 字母 日期或时间元素 表示 示例 <br> 
  17.      * G Era标志符 Text AD <br> 
  18.      * y 年 Year 1996; 96 <br> 
  19.      * M 年中的月份 Month July; Jul; 07 <br> 
  20.      * w 年中的周数 Number 27 <br> 
  21.      * W 月份中的周数 Number 2 <br> 
  22.      * D 年中的天数 Number 189 <br> 
  23.      * d 月份中的天数 Number 10 <br> 
  24.      * F 月份中的星期 Number 2 <br> 
  25.      * E 星期中的天数 Text Tuesday; Tue<br> 
  26.      * a Am/pm 标记 Text PM <br> 
  27.      * H 一天中的小时数(0-23) Number 0 <br> 
  28.      * k 一天中的小时数(1-24) Number 24<br> 
  29.      * K am/pm 中的小时数(0-11) Number 0 <br> 
  30.      * h am/pm 中的小时数(1-12) Number 12 <br> 
  31.      * m 小时中的分钟数 Number 30 <br> 
  32.      * s 分钟中的秒数 Number 55 <br> 
  33.      * S 毫秒数 Number 978 <br> 
  34.      * z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 <br> 
  35.      * Z 时区 RFC 822 time zone -0800 <br> 
  36.      */  
  37.     config.registerJsonValueProcessor(Date.classnew DateJsonValueProcessor("G yyyy-MM-dd hh:mm:ss.SS zzz ZZZ w DDD FF EE"));  
  38.     JSONObject Obj = JSONObject.fromObject(map, config);  
  39.   
  40.     System.out.println(Obj);  
  41.     }  

原文出自:http://blog.csdn.net/heardy/article/details/6760722

net.sf.json 日期 时间 格式化 方法