数据库中的java.sql.Timestamp转换成Date
Posted 幸福流浪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中的java.sql.Timestamp转换成Date相关的知识,希望对你有一定的参考价值。
查询数据库中的时间类型为 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的主要内容,如果未能解决你的问题,请参考以下文章
使用 JOOQ 在 java.sql.Timestamp 和 java.time.Instant 之间转换时遇到问题
将 LocalDate 转换为 LocalDateTime 或 java.sql.Timestamp
将 java.time.Instant 转换为没有区域偏移的 java.sql.Timestamp