java 字符串转为时间类型

HEdeeds 2011-05-30 09:01:45
public class Test {
public static void main(String args[]) throws FileNotFoundException, IOException, ParseException{
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = new Date();
d = sd.parse("2009-12-09 12:23:20");
System.out.println(d);
}
}

输出时间应该为2009-12-09 12:23:20
但是是这个结果 求赐教
Wed Dec 09 12:23:20 CST 2009
...全文
1068 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadow4222 2011-05-30
  • 打赏
  • 举报
回复
你在数据库比较? 那你不如直接把字段设为string类型 直接用SQL时间函数比较
select datediff(day,'2004-09-01','2004-09-18')

要在程序比较就用数据库里的时间直接new个DATE对象再用compareTo()方法去比较
跟格式有什么关系吗?

对象没有格式,对象就是类得实例,是个抽象的东西。
比如你的名字 不写在纸上它就是个称号 你能给你的名字设置字体吗?
JavaAlpha 2011-05-30
  • 打赏
  • 举报
回复
/**
* 方法说明:取当前日期 (格式 2003-08-01)
*
*/
public static String getNowDate() {
java.util.Date tdate = new java.util.Date();
String nowtime = new Timestamp(tdate.getTime()).toString();
nowtime = nowtime.substring(0, 10);
return nowtime;
}
HEdeeds 2011-05-30
  • 打赏
  • 举报
回复
date是个对象怎么设置格式 我们看到的格式时间是他的toString()方法

Wed Dec 09 12:23:20 CST 2009这个结果也是个字符串 对象能打印吗?
System.out.println() 这个方法即使你给的参数是个对象
此方法首先也要调用 String.valueOf(Object) 获取打印对象的字符串值

我需要这种格式的对象传到数据库 与数据库的2009-12-09 12:23:20(date)做比较的
shadow4222 2011-05-30
  • 打赏
  • 举报
回复
date是个对象怎么设置格式 我们看到的格式时间是他的toString()方法

Wed Dec 09 12:23:20 CST 2009这个结果也是个字符串 对象能打印吗?
System.out.println() 这个方法即使你给的参数是个对象
此方法首先也要调用 String.valueOf(Object) 获取打印对象的字符串值
HEdeeds 2011-05-30
  • 打赏
  • 举报
回复
设置date的格式为yyyy-MM-dd HH:mm:ss
也就是date---->date
不是date--->String

Wed Dec 09 12:23:20 CST 2009----->2009-12-09 12:23:20 类型为date不是String
shadow4222 2011-05-30
  • 打赏
  • 举报
回复
d.toXXXX()自己选
HEdeeds 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chenqx8245 的回复:]

SimpleDateFormat就是转换时间格式的类呀,一般都是用这个的。
你在上面已经声明了一个SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
所以你要将DATE转成你上面声明的格式,可以这样做
Date d = new Date();
String dateStr = sd.format(d);//……
[/Quote]
但是现在将date--->string 我的意思是 设置date的格式为yyyy-MM-dd HH:mm:ss
也就是date---->date
chenqx8245 2011-05-30
  • 打赏
  • 举报
回复
SimpleDateFormat就是转换时间格式的类呀,一般都是用这个的。
你在上面已经声明了一个SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
所以你要将DATE转成你上面声明的格式,可以这样做
Date d = new Date();
String dateStr = sd.format(d);//此处会抛出异常
System.out.println(dateStr);就行了
HEdeeds 2011-05-30
  • 打赏
  • 举报
回复
也就是将DATE D 转化为2009-12-09 12:23:20这样的格式怎么做
HEdeeds 2011-05-30
  • 打赏
  • 举报
回复
我想输出转化为2009-12-09 12:23:20这样的格式怎么做
lwwit 2011-05-30
  • 打赏
  • 举报
回复
d是個Date實例,不是字符串類型。
放牛娃的梦 2011-05-30
  • 打赏
  • 举报
回复
输出是对的啊,这是jdk默认的输出时间的格式啊

23,404

社区成员

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

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