String 转换 date

MattHgh 2008-01-21 10:26:34
这样就能转换

String nowTime="2008-01-18";
Date date = java.sql.Date.valueOf(nowTime);
System.out.println(date);


但是,带上时间就不行

String nowTime="2008-01-18 09:10:10";
Date date = java.sql.Date.valueOf(nowTime);
System.out.println(date);


怎么把String nowTime="2008-01-18 09:10:10";带时间也转换成date类型??
转换为这样格式的SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
c2one 2008-01-21
  • 打赏
  • 举报
回复
java.sql.Date的概念只有年月日
看java.sql.Date.valueOf(String)的原码
	public static Date valueOf(String s) {
int year;
int month;
int day;
int firstDash;
int secondDash;

if (s == null)
throw new java.lang.IllegalArgumentException();

firstDash = s.indexOf('-');
secondDash = s.indexOf('-', firstDash + 1);
if ((firstDash > 0) & (secondDash > 0) & (secondDash < s.length() - 1)) {
year = Integer.parseInt(s.substring(0, firstDash)) - 1900;
month = Integer.parseInt(s.substring(firstDash + 1, secondDash)) - 1;
day = Integer.parseInt(s.substring(secondDash + 1));
} else {
throw new java.lang.IllegalArgumentException();
}

return new Date(year, month, day);
}

使用SimpleDateFormat转没问题啊
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd   HH:mm:ss");
try {
Date data = df.parse("2008-01-18 09:10:10");
System.out.println(data);
} catch (ParseException e) {
e.printStackTrace();
}
MattHgh 2008-01-21
  • 打赏
  • 举报
回复
to eidolon_warrior

这样他输出的是
Fri Jan 18 09:10:10 CST 2008
可以是2008-01-18 09:10:10吗
L_Spring 2008-01-21
  • 打赏
  • 举报
回复
參考一下API中的Calendar類吧,不建議再使用Date類
eidolon_warrior 2008-01-21
  • 打赏
  • 举报
回复
String nowTime="2008-01-18 09:10:10";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date day = df.parse(nowTime);

62,614

社区成员

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

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