標籤:
查詢資料庫中的時間類型為 java.sql.Timestamp
儲存在json中需要格式化
自訂工具類 DateJsonValueProcessor
1 package com.rom.util; 2 3 import java.text.SimpleDateFormat; 4 5 import java.util.Date; 6 import java.util.Locale; 7 8 import net.sf.json.JsonConfig; 9 import net.sf.json.processors.JsonValueProcessor;10 11 public class DateJsonValueProcessor implements JsonValueProcessor {12 13 private String datePattern = "yyyy-MM-dd";14 15 public DateJsonValueProcessor() {16 super();17 }18 19 public DateJsonValueProcessor(String format) {20 super();21 this.datePattern = format;22 }23 24 public Object processArrayValue(Object value, JsonConfig jsonConfig) {25 return process(value);26 }27 28 public Object processObjectValue(String key, Object value,29 JsonConfig jsonConfig) {30 return process(value);31 }32 33 private Object process(Object value) {34 try {35 if(value instanceof Date){ 36 SimpleDateFormat sdf = new SimpleDateFormat(datePattern, Locale.UK);37 return sdf.format((Date) value);38 }39 return "";40 } catch (Exception e) {41 return "";42 }43 44 }45 46 public String getDatePattern() {47 return datePattern;48 }49 50 public void setDatePattern(String pDatePattern) {51 datePattern = pDatePattern;52 }53 54 }
java中的instanceof 運算子是用來在運行時指出對象是否是特定類的一個執行個體。instanceof通過返回一個布爾值來指出,這個對象是否是這個特定類或者是它的子類的一個執行個體。
用法:
result = object instanceof class
參數:
Result:布爾類型。
Object:必選項。任意對象運算式。
Class:必選項。任意已定義的對象類。
說明:
如果 object 是 class 的一個執行個體,則 instanceof 運算子返回 true。如果 object 不是指定類的一個執行個體,或者 object 是 null,則返回 false。
在儲存json資料的同事調用 JsonConfig
1 JsonConfig jsonConfig = new JsonConfig();2 jsonConfig.registerJsonValueProcessor(Timestamp.class, new DateJsonValueProcessor("yyyy-MM-dd"));3 JSONArray jo = JSONArray.fromObject(list,jsonConfig);
程式自動將格式裝換成java.util.Date的形式
如 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss
資料庫中的java.sql.Timestamp轉換成Date