java中日期格式的转换,String类型的如:03/Jun/2013这种格式的,怎样转换成yyyy-mm-dd格式的?
数据库中读取一个VARCHAR类型的字段,如03/Jun/2013:00:00:05,在java中截取年月日为03/Jun/2013,但是页面根据这个日期进行搜索,页面上...
数据库中读取一个VARCHAR类型的字段,如03/Jun/2013:00:00:05,在java中截取年月日为03/Jun/2013,但是页面根据这个日期进行搜索,页面上是日期控件,输入的格式是yyyy-mm-dd,匹配不上。有什么解决方法吗?
展开
3个回答
展开全部
把所有的格式都统一为yyyy-mm-dd。你的数据库类型是varchar把存入的字符串格式化一下不就OK?
java可以把各种格式的日期进行转化。你看看SimpleDateFormat这个应该能找到解决办法。
java可以把各种格式的日期进行转化。你看看SimpleDateFormat这个应该能找到解决办法。
追问
就是不知道怎么把VARCHAR类型转换成Date类型,如果是Date类型那么就好办了。这种03/Jun/2013:00:00:05字符串,我把该字段类型改成Date,Datetime或者timeStamp都报错。
好吧,我会了,分享一下吧,我用的mysql,取值的时候稍微做一下处理
select str_to_date(timeStr,'%d/%b/%Y')
from table;
%d 两位数字表示月中的天数( 00, 01, . . ., 31)
%b 缩写的月名( J a n u a r y, February, . . ., December)
%Y 四位数字表示的年份
展开全部
从数据库获取的Date类型通过SimpleDateFormat来转换
追问
03/Jun/2013:00:00:05 这一串在数据库中就是VARCHAR类型啊,不是Date类型的,如果是的话就好转了呀。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个比较笨的办法:
if(data != null ){
String year = data.substring(7, 11);
String month = data.substring(3, 6);
String date = data.substring(0,2);
if(month.equals("Jan")){
data = year + "-" + "01" + "-" + date;
}
if(month.equals("Feb")){
data = year + "-" + "02" + "-" + date;
}
if(month.equals("Mar")){
data = year + "-" + "03" + "-" + date;
}
if(month.equals("Apr")){
data = year + "-" + "04" + "-" + date;
}
if(month.equals("May")){
data = year + "-" + "05" + "-" + date;
}
if(month.equals("Jun")){
data = year + "-" + "06" + "-" + date;
}
if(month.equals("Jul")){
data = year + "-" + "07" + "-" + date;
}
if(month.equals("Aug")){
data = year + "-" + "08" + "-" + date;
}
if(month.equals("Sep")){
data = year + "-" + "09" + "-" + date;
}
if(month.equals("Oct")){
data = year + "-" + "10" + "-" + date;
}
if(month.equals("Nov")){
data = year + "-" + "11" + "-" + date;
}
if(month.equals("Dec")){
data = year + "-" + "12" + "-" + date;
}
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(data);
if(data != null ){
String year = data.substring(7, 11);
String month = data.substring(3, 6);
String date = data.substring(0,2);
if(month.equals("Jan")){
data = year + "-" + "01" + "-" + date;
}
if(month.equals("Feb")){
data = year + "-" + "02" + "-" + date;
}
if(month.equals("Mar")){
data = year + "-" + "03" + "-" + date;
}
if(month.equals("Apr")){
data = year + "-" + "04" + "-" + date;
}
if(month.equals("May")){
data = year + "-" + "05" + "-" + date;
}
if(month.equals("Jun")){
data = year + "-" + "06" + "-" + date;
}
if(month.equals("Jul")){
data = year + "-" + "07" + "-" + date;
}
if(month.equals("Aug")){
data = year + "-" + "08" + "-" + date;
}
if(month.equals("Sep")){
data = year + "-" + "09" + "-" + date;
}
if(month.equals("Oct")){
data = year + "-" + "10" + "-" + date;
}
if(month.equals("Nov")){
data = year + "-" + "11" + "-" + date;
}
if(month.equals("Dec")){
data = year + "-" + "12" + "-" + date;
}
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(data);
追问
非常谢谢你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询