java中,字符串类型的时间数据怎样转换成date类型。

比如Stringstr="2014-3-1714:09";输出date类型是MonMar1714:00:09CST2014。我想要的输出结果是date类型的2014-3-... 比如String str = "2014-3-17 14:09";输出date类型是Mon Mar 17 14:00:09 CST 2014。我想要的输出结果是date类型的2014-3-17,求解。 展开
 我来答
千锋教育
2015-11-26 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:
1、定义一个字符串类型的时间;
2、创建一个SimpleDateFormat对象并设置格式;
3、最后使用SimpleDateFormat的parse方法将String类型的时间转换成Date类型的时间。
具体代码如下:
String string = "2014-3-17";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = dateFormat.parse(string);
System.out.println(date.toLocaleString().split(" ")[0]);//切割掉不要的时分秒数据
} catch (ParseException e) {
e.printStackTrace();
}

介绍一下SimpleDateFormat:SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出。
学cpp的
2014-03-17
知道答主
回答量:13
采纳率:0%
帮助的人:8.5万
展开全部
ava.text.SimpleDateFormat类可以实现Date对象和字符串表示的日期信息的互相转换,
如下操作即可。
String str="2014-3-17 ";
String pattern="YYYY-MM-dd"
SimpleDateFormat sdf=new SimpleDateFormt(pattern);
Date date = sdf.parse(str);
System.out.println(data);//Mon Mar 17 00:00:00 CST 2014
追问
数据库那边用的是date类型是数据,验证格式要等于2014-3-17这个格式。。客户端输入的值也是2014-3-17这种格式。我想要输出的结果是2013-3-17而不是);//Mon Mar 17 00:00:00 CST 2014
追答
你描述的问题不是很清楚,其他几个回答的人都误解,还以为是直接在java里面进行日期字符串转换。现在我也不是特别清楚你的意思到,只能大概觉得你可能是要在客户端进行验证同时对数据库进行操作,在客户端进行验证可以用javascript进行正则表达式的判断实现。如果是向数据库进行的话,在创建表的时候,使用to_data(s,format)函数即是将s字符串转换成format格式的date类型数据。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dj__myrock__jc
2014-03-17 · 超过12用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:12.7万
展开全部
public void formateDate(){
String string = "2014-3-17 14:09";
SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
Date str = null;
try {
str = date.parse(string);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println((str.toLocaleString()).split(" ")[0]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-17
展开全部
你想输出的格式,已经是转成String的了。

SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(fmt.format(aDate));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宏伟杰作同学
2014-03-17
知道答主
回答量:2
采纳率:0%
帮助的人:2.5万
展开全部
如下即可
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(str);
System.out.println(date);
希望能帮到你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式