如何正确地转换成 java.util.Date 通过 JPA 的 Oracle 日期字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何正确地转换成 java.util.Date 通过 JPA 的 Oracle 日期字段相关的知识,希望对你有一定的参考价值。

参考技术A Oracle的日期字段,建议在sql语句中to_char,转成字符串,再传递给java
这样的效率也会高一些
to_char(date,'yyyy-mm-dd hh24:mi:ss')
oracle不分大小写本回答被提问者和网友采纳
参考技术B 示例如下:
package com.qiu.lin.he;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class CeShi

public static void main(String[] args)
String dateStr = "2010-10-11 10:00:02";
try
Date d = parseDate(dateStr);//将字符串转换成date类型
System.out.println(d);
catch (ParseException e)
// TODO Auto-generated catch block
e.printStackTrace();




//将字符串转换成date类型方法
static public Date parseDate(String s) throws ParseException
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
return format.parse(s);



结果是:
Mon Oct 11 00:00:00 CST 2010
参考技术C 在日期字段上使用注解就可以自动转换
@Temporal

详细的请参照http://lushizhidao.com/question/6

将java.util.Date类型转换成json时,使用JsonValueProcessor将date转换成希望的类型

问题描述:

    java里面时间类型转换成json数据就成这样了:


"createTime":{"date":30,"day":3,"hours":15,"minutes":14,"month":3,"nanos":0,"seconds"
:38,"time":1209539678000,"timezoneOffset":-480,"year":108}


期望的结果:

       将date转化成yyyy-MM-dd形式

解决方案:

注册时间字段处理器,使用jsonconfig即可:
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss"));
JSONObject jsonObj = JSONObject.fromObject(map, jsonConfig);

class DateJsonValueProcessor implements JsonValueProcessor {
private String format = "yyyy-MM-dd";

public DateJsonValueProcessor() {
}

public DateJsonValueProcessor(String format) {
this.format = format;
}

public Object processArrayValue(Object value, JsonConfig jsonConfig) {
String[] obj = {};
if (value instanceof Date[]) {
SimpleDateFormat sf = new SimpleDateFormat(format);
Date[] dates = (Date[]) value;
obj = new String[dates.length];
for (int i = 0; i < dates.length; i++) {
obj[i] = sf.format(dates[i]);
}
}
return obj;
}

public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
if (value instanceof Date) {
String str = new SimpleDateFormat(format).format((Date) value);
return str;
}
return value.toString();
}

public String getFormat() {
return format;
}

public void setFormat(String format) {
this.format = format;
}

}

以上是关于如何正确地转换成 java.util.Date 通过 JPA 的 Oracle 日期字段的主要内容,如果未能解决你的问题,请参考以下文章

在使用jdbc 里面出现了日期数据转换错误,java.util.date 类型的数据怎样转换成java.sql.date 类型。

java中怎么把Long转换成日期格式

如何从 java.sql.Timestamp 转换为 java.util.Date?

如何在 GMT(格林威治)时间将 XMLGregorianCalendar 转换为 java.util.Date

Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)

将日期转换成标准年月日时分秒形式插入数据库