怎么把 java.util.Date转换为java.sql.Date?

新来的萌新 2004-11-23 05:32:56
GregorianCalendar da = new GregorianCalendar(2004, 11, 23, 11, 45, 50);
Date time = da.getTime();
java.sql.Date a = new java.sql.Date(da.getTimeInMillis());
System.out.println(time);
System.out.println(a);
用上面的方法转化 但是得到的结果如下:
Tue Nov 23 11:45:50 CST 2004
2004-11-23
但是转化过后小时,分,秒不见了~~~
还有什么方法吗?
保证完全转换?谢谢
...全文
2014 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangboyong 2004-11-24
  • 打赏
  • 举报
回复
数据库设置的格式问题!

GregorianCalendar da = new GregorianCalendar(2004, 11, 23, 11, 45, 50);
Date time = da.getTime();
java.sql.Date a = new java.sql.Date(da.getTimeInMillis());
System.out.println(time);
System.out.println(a);//转换前的格式

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(a));//转换后的格式
//把数据插入数据库,如果还没有小时、分、秒
//那么肯定是数据库字段格式设置问题

fengliu212 2004-11-23
  • 打赏
  • 举报
回复
顶一下
fishbob21 2004-11-23
  • 打赏
  • 举报
回复
import java.util.*;
import java.text.SimpleDateFormat;
class test
{
public static void main(String[] args)
{
long nCurrentTime = System.currentTimeMillis();
java.util.Date utilDate = new java.util.Date(nCurrentTime);

GregorianCalendar da = new GregorianCalendar(2004, 11, 23, 11, 45, 50);
java.util.Date time = da.getTime();
java.sql.Date sqlDate = new java.sql.Date(time.getTime());
java.sql.Time sqlTime = new java.sql.Time(time.getTime());
java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(nCurrentTime);

System.out.println(time);
System.out.println("sqlDate:-----"+sqlDate);
System.out.println("sqlTime:-----"+sqlTime);
System.out.println("sqlTimestamp:-----"+sqlTimestamp);
}
}
新来的萌新 2004-11-23
  • 打赏
  • 举报
回复
SimpleDateFormat后还是 2004-11-23
新来的萌新 2004-11-23
  • 打赏
  • 举报
回复
可是插入数据库中没有 小时 分 秒啊?ft
q7pb 2004-11-23
  • 打赏
  • 举报
回复
它是完全转换的,你用
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(a));
打印出来看看
射天狼 2004-11-23
  • 打赏
  • 举报
回复
//***************************************************
//名称:strToDate
//功能:将指定的字符串转换成日期
//输入:aStrValue: 要转换的字符串;
// aFmtDate: 转换日期的格式, 默认为:"yyyy/MM/dd"
// aDteRtn: 转换后的日期
//输出:
//返回:TRUE: 是正确的日期格式; FALSE: 是错误的日期格式
//***************************************************
public static boolean strToDate(
String aStrValue,
String aFmtDate,
java.util.Date aDteRtn)
{
if (aFmtDate.length() == 0)
{
aFmtDate = "yyyy/MM/dd";
}
SimpleDateFormat fmtDate = new SimpleDateFormat(aFmtDate);
try
{
aDteRtn.setTime(fmtDate.parse(aStrValue).getTime());
}
catch (Exception e)
{
return (false);
}

return (true);
}

//***************************************************
//名称:dateToStr
//功能:将指定的日期转换成字符串
//输入:aDteValue: 要转换的日期;
// aFmtDate: 转换日期的格式, 默认为:"yyyy/MM/dd"
//输出:
//返回:转换之后的字符串
//***************************************************
public static String dateToStr(java.util.Date aDteValue, String aFmtDate)
{
String strRtn = null;

if (aFmtDate.length() == 0)
{
aFmtDate = "yyyy/MM/dd";
}
Format fmtDate = new SimpleDateFormat(aFmtDate);
try
{
strRtn = fmtDate.format(aDteValue);
}
catch (Exception e)
{

}

return (strRtn);
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧