本篇文章给大家谈谈将Java.Util.Date转换为Java.Sql.Date时出错,以及java将date转为yyyy-mm-dd的知识点,同时本文还将给你拓展ClassCastException
本篇文章给大家谈谈将Java.Util.Date转换为Java.Sql.Date时出错,以及java 将date转为yyyy-mm-dd的知识点,同时本文还将给你拓展ClassCastException:无法将java.util.Date强制转换为java.sql.Date、java.util.Date java.sql.Date java.util.Date,String,long 类型数据之间的转化、java.util.Date,java.sql.Date 与字符串之间的相互转换、java.util.Date到java.sql.Date的转换给出错误的月份等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- 将Java.Util.Date转换为Java.Sql.Date时出错(java 将date转为yyyy-mm-dd)
- ClassCastException:无法将java.util.Date强制转换为java.sql.Date
- java.util.Date java.sql.Date java.util.Date,String,long 类型数据之间的转化
- java.util.Date,java.sql.Date 与字符串之间的相互转换
- java.util.Date到java.sql.Date的转换给出错误的月份
将Java.Util.Date转换为Java.Sql.Date时出错(java 将date转为yyyy-mm-dd)
我在函数上发现错误,从DatatypeFactory df初始化newInstance()方法后,它显示错误结果,我得到了另一个错误:
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
我只是将包裹名称从
java.util.Date into java.SQL.Date
然后投射:
Date dateStarting = (Date) jDateChooserStart.getDate();Date dateEnding = (Date) jDateChooserEnd.getDate();
答案1
小编典典这是不可能的 投 自java.util.Date
到java.sql.Date
。您需要从一种类型 转换 为另一种类型:
java.util.Date utilStartDate = jDateChooserStart.getDate();java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime());
ClassCastException:无法将java.util.Date强制转换为java.sql.Date
您好,我的代码正在抛出ClassCastException
。StackTrace显示:
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
at com.affiliate.DAO.AffiliateDAO.insertAffiliate(AffiliateDAO.java:48)
即@ ps.setDate(6,(Date)affiliate.getDate()); 在DAO
以下是我的servlet:
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
Affiliate af= new Affiliate();
af.setFisrtName(request.getParameter("txtFname"));
af.setLastName(request.getParameter("txtLname"));
af.setGender(request.getParameter("txtGender"));
af.setCategory(request.getParameter("txtCategory"));
String dob=(request.getParameter("txtDob"));
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date date;
try {
date = (Date)formatter.parse(dob);
af.setDate(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
af.setAge(Integer.parseInt(request.getParameter("txtAge")));
af.setAddress(request.getParameter("txtAddr"));
af.setCountry("India");
af.setState(request.getParameter("txtState"));
af.setCity(request.getParameter("txtCity"));
af.setPinCode(Integer.parseInt(request.getParameter("txtPin")));
af.setEmailId(request.getParameter("txtEmail"));
af.setStd(Integer.parseInt(request.getParameter("txtStd")));
af.setContactNo(Integer.parseInt(request.getParameter("txtPhone")));
af.setMobileNo(Long.parseLong(request.getParameter("txtMobile"),10));
AffiliateService afs=new AffiliateService();
**afs.createAffiliate(af);**
}
以下是我的DAO:
public void insertAffiliate(Affiliate affiliate){
String sql="INSERT INTO REGISTER " +"(id,FisrtName,LastName,Gender,Category,DateOfBirth,Age,Address,Country,State,City,PinCode,EmailId,Std,ContactNo,MobileNo)VALUES(?,?,?)";
Connection conn = null;
try {
**conn = dataSource.createConnection();**
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1,affiliate.getId());
ps.setString(2,affiliate.getFisrtName());
ps.setString(3,affiliate.getLastName());
ps.setString(4,affiliate.getGender());
ps.setString(5,affiliate.getCategory());
***ps.setDate(6,(Date) affiliate.getDate());***
ps.setInt(7,affiliate.getAge());
ps.setString(8,affiliate.getAddress());
ps.setString(9,affiliate.getCountry());
ps.setString(10,affiliate.getState());
ps.setString(11,affiliate.getCity());
ps.setInt(12,affiliate.getPinCode());
ps.setString(13,affiliate.getEmailId());
ps.setInt(14,affiliate.getStd());
ps.setInt(15,affiliate.getContactNo());
ps.setLong(16,affiliate.getMobileNo());
ps.executeUpdate();
ps.close();
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {}
}
}
}
以下是我的DTO:
public class Affiliate {
@NotNull
@Past
Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
请在这方面帮助我
java.util.Date java.sql.Date java.util.Date,String,long 类型数据之间的转化
java.util.date :常用工具类
java.sql.date:存入sql数据库时,需要用到的类,其中java.util.date是java.sql.date的父类
问题列表:
1)java.sql.date 转化为 java.util.date
2) java.util.date 转化为 java.sql.date
3) long ==》java.util.date
4) java.util.date ===>long
5) java.util.date ==>String
6) String ==java.util.date
7) java.util.date 之间的大小比较
1)java.sql.date 转化为 java.util.date
public Date SqlDateToUtDate(java.sql.Date sd){
return new Date(sd.getTime());
}
2) java.util.date 转化为 java.sql.date
public java.sql.Date UtDateToSqlDate(Date ud){
return new java.sql.Date(ud.getTime());
}
3) long ==》java.util.date
long date= 14830682769461;
Date date1=new Date(date);
4) java.util.date ===>long
Date date = new Date();
long dateTime = date.getTime();
5) java.util.date ==>String
Date date = new Date();//获取当前时间
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sDate=df.format(date);
6) String ==java.util.date
String sDate="2001.12.12-08.23.21";
DateFormat df = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss");
try {
Date d = df.parse(dStr);
} catch (ParseException pe) {
System.out.println(pe.getMessage());
}
7) java.util.date 之间的大小比较
/**
验证是否超出有效期
* 没有超出 true
* 超出 false
*
* @param createTime 是一个开始时间
* @param valTime 是一个有效期时间 对于long类型数据 1秒 相当于 long型数据 1000;1分钟相当1000*60
* @return
进行时间大小比较的时候,可以转化为long类型数据进行比较
*/
public boolean isBeyondTime(Date createTime, long valTime_l) {
// 获得当前时间的long
long date_l = System.currentTimeMillis();
long createTime_l = createTime.getTime();
if (date_l - createTime_l <= valTime_l) {
return true;
} else {
return false;
}
}
java.util.Date,java.sql.Date 与字符串之间的相互转换
public class TestDate {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO 自动生成的方法存根
//String ------->java.util.Date----------->java.sql.Date
String s="1997-01-23";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//字符串转换成日期
java.util.Date utilDate=sdf.parse(s);
//日期转换成字符串
String s2=sdf.format(utilDate);
System.out.println(s2);
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
System.out.println(sqlDate);
}
}
java.util.Date到java.sql.Date的转换给出错误的月份
考虑以下代码段:
Calendar futureDate = Calendar.getInstance();
int year = 2011;
int month = 11;
int day = 14;
futureDate.set(year,month,day);
System.out.println(futureDate.toString());
java.sql.Date sqlDate = new java.sql.Date( futureDate.getTime().getTime());
从futureDate.toString()的打印输出为:
..... YEAR = 2011,MONTH = 11,WEEK_OF_YEAR = 43,WEEK_OF_MONTH = 4,DAY_OF_MONTH
= 14,DAY_OF_YEAR = 289,DAY_OF_WEEK = 1,DAY_OF_WEEK_IN_MONTH = 3,AM_PM = 0,HOUR
= 11,HOUR_OF_DAY = 11,MINUTE = 32,SECOND = 51,MILLISECOND = 117,ZONE_OFFSET =
-18000000,DST_OFFSET = 3600000]
这表明Calendare对象具有正确的日期。但是,在转换为sql日期并存储在数据库中(MySQL通过JDBC)之后,该日期的MySQL表显示为“
2011-12-14”,而不是“ 2011-11-14”。我本来会怀疑语言环境和时区,但是这些会导致一天中的时间而不是日期的月份中出现差异。
关于我做错了什么的任何线索?
我们今天的关于将Java.Util.Date转换为Java.Sql.Date时出错和java 将date转为yyyy-mm-dd的分享已经告一段落,感谢您的关注,如果您想了解更多关于ClassCastException:无法将java.util.Date强制转换为java.sql.Date、java.util.Date java.sql.Date java.util.Date,String,long 类型数据之间的转化、java.util.Date,java.sql.Date 与字符串之间的相互转换、java.util.Date到java.sql.Date的转换给出错误的月份的相关信息,请在本站查询。
本文标签: