急!有会(Calendar)日历操作的吗?
我今天碰到个问题,还需各位大神指点下。
oracle数据库里有个表,字段为transDate,类型是Timestamp。通过hibernate映射。
我要在后台新增或更新它,后台输入的日期格式是:
string currDate = "02-6月-2013 23.59.59.999 上午 +0800"。
我通过
Timestamp t = Timestamp.valueOf(currDate)转换它出错了;
真心希望各位帮我解决。
------解决方案--------------------用SimpleDateFormat把string转化成date
比如
Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(inputString);
------解决方案--------------------string currDate = "02-6月-2013 23.59.59.999 上午 +0800"。
我通过Timestamp t = Timestamp.valueOf(currDate)转换它出错了;
你这种格式需要转的,不能直接用,直接用的是yyyy-MM-dd HH:mm:ss 的形式。
------解决方案--------------------试一下 dd-MM-yyyy HH:mm:ss Z
中文可能是问题啊
------解决方案--------------------
dd-MM-yyyy HH.mm.ss.SSS a Z
------解决方案--------------------又写错了。。。
z 小写
dd-MM-yyyy HH.mm.ss.SSS a z
------解决方案--------------------这个数据库里保存成那样干什么,你不是说你用oracle数据库么,直接保存成万能的long类型,然后通过oracle自带的date来获取他真实的时间格式
------解决方案--------------------http://www.cnblogs.com/mailingfeng/archive/2011/07/28/2120422.html
------解决方案--------------------http://jiankeafei.iteye.com/blog/230928
------解决方案--------------------通常我们在输入一个 "时间" 时候是 String 类型的, 但是 我们的数据库中字段需要的是 Date 类型
怎么办?
我们当然是把 String 转换成 Date 类型 我这里有一个 方法 不知道能不能帮上忙,
public final String CurrentYMDTime(String date){
String curTime="";
//格式化时间开始
SimpleDateFormat formatter;
java.util.Date currentDate=new java.util.Date();
formatter=new SimpleDateFormat("yyyy-MM-dd");
try {
currentDate = formatter.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
//格式化时间结束
curTime= formatter.format(currentDate);
return curTime;
}
------解决方案--------------------API里TimeStamp中valueOf方法的注释:
参数:
s - 使用 yyyy-mm-dd hh:mm:ss[.f...] 格式的时间戳。可以省略小数秒。
从以上看,我觉得你那个字符串string currDate = "02-6月-2013 23.59.59.999 上午 +0800"应该把最后面这个“上午 +800”去掉就可以了
我是新手,互相探讨,如回答有误还望谅解~
------解决方案--------------------还中文~~,给你个建议我之前做特殊样式的时间时候直接就存的字符串不转时间,你可以试试
------解决方案--------------------