时间转换格式问题

羊肉馅水饺 2012-11-15 02:18:43
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
format.format(new Date());这能够按指定的格式转换
因实体类里面定义的属性是Date类型
format.parse(format.format(new Date()));这样子转换之后又成了Thu Nov 15 02:03:20 CST 2012

求论坛老鸟们救救小鸟!在线等待
...全文
275 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
fgh5566 2012-11-15
  • 打赏
  • 举报
回复
public static void main(String[] args) { SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println(simple.format(new Date())); } 输出:2012-11-15 08:30:24
为啥呢 2012-11-15
  • 打赏
  • 举报
回复
引用 13 楼 dxs29vip 的回复:
引用 12 楼 xodbc 的回复:Date不是被弃用了么,不过各种日期格式的通用接口是long,转成数字给另一个类型处理输出指定格式就可以了 小弟我刚学JAVA不久,对于你们所说的API啥的不是很懂,只能百度了解一下,至于修改现在无从下手。我就想知道能不能将一个String转换成Date,并且控制台显示结果一样,要是能的话请告诉我解决思路,别扯东扯西,改数据类型啥的,……
好吧,问题简单化,不要format了,直接找一个符合你要的格式的:

//输入
String dateStr="1900-01-01 00:00:00";
Date date=new Date(java.sql.Timestamp.valueOf(dateStr).getTime());
//输出
System.out.println(new java.sql.Timestamp(date.getTime()).toString());
boey584 2012-11-15
  • 打赏
  • 举报
回复
问题在于控制台显示。这个你把String转换成Date之后,是调用System.out.print()来打印Date对象的是吧? 在这个过程中这个print方法会调用Date的toString方法。在Date的toString方法中。会把date对象按照 Thu Nov 15 02:03:20 CST 2012这种形式输出到控制台。所以,你看见的显示肯定是不一样的。 把Date对象 再format.format();下。这个SimpleDateFormat 本来就是格式化输出时间对象的。。
羊肉馅水饺 2012-11-15
  • 打赏
  • 举报
回复
引用 12 楼 xodbc 的回复:
Date不是被弃用了么,不过各种日期格式的通用接口是long,转成数字给另一个类型处理输出指定格式就可以了
小弟我刚学JAVA不久,对于你们所说的API啥的不是很懂,只能百度了解一下,至于修改现在无从下手。我就想知道能不能将一个String转换成Date,并且控制台显示结果一样,要是能的话请告诉我解决思路,别扯东扯西,改数据类型啥的,这不是白说吗?不能的话就说这个方法不可行。我也好理解。 谢谢你提供的方法,借鉴了。
为啥呢 2012-11-15
  • 打赏
  • 举报
回复
Date不是被弃用了么,不过各种日期格式的通用接口是long,转成数字给另一个类型处理输出指定格式就可以了
Cactus_hxk 2012-11-15
  • 打赏
  • 举报
回复
引用 8 楼 dxs29vip 的回复:
引用 5 楼 huiwenjie168 的回复: Date d = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2012-11-15 14:40:00"); huiwenjie168 你好!按照你的方法输出的是Thu Nov 15 14:40:00 CST 2012 我就想输出2012-11-15 14:40:00这样的,纯阿拉伯……
你先用这个转换成Date类型这样你就可以set到你的bean里了吗,如果前台页面要展示,你可以用你的方法在转换一下不就结了, 如果你想要纯阿拉伯的哪你必须修改你的bean啊,将bean中的类型改成string就可以了!
liu4626846 2012-11-15
  • 打赏
  • 举报
回复
引用 8 楼 dxs29vip 的回复:
引用 5 楼 huiwenjie168 的回复: Date d = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2012-11-15 14:40:00"); huiwenjie168 你好!按照你的方法输出的是Thu Nov 15 14:40:00 CST 2012 我就想输出2012-11-15 14:40:00这样的,纯阿拉伯……
你想要这个格式那么就是字符串 format.format(date)
羊肉馅水饺 2012-11-15
  • 打赏
  • 举报
回复
引用 7 楼 liu4626846 的回复:
date就是一个类型没你说的什么(怎样把String类型的2012-11-15 03:05:56 转换成 Date类型的2012-11-15 03:05:56 ) 只有把date转换成你需要的格式而已!
问题就是,怎么控制这个格式,怎么把它转换成本地格式(2012-12-15)??
羊肉馅水饺 2012-11-15
  • 打赏
  • 举报
回复
引用 5 楼 huiwenjie168 的回复:
Date d = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2012-11-15 14:40:00");
huiwenjie168 你好!按照你的方法输出的是Thu Nov 15 14:40:00 CST 2012 我就想输出2012-11-15 14:40:00这样的,纯阿拉伯的!
liu4626846 2012-11-15
  • 打赏
  • 举报
回复
date就是一个类型没你说的什么(怎样把String类型的2012-11-15 03:05:56 转换成 Date类型的2012-11-15 03:05:56 ) 只有把date转换成你需要的格式而已!
liu4626846 2012-11-15
  • 打赏
  • 举报
回复
你的转换已经ok 至于你说的 date类型打印“Thu Nov 15 02:03:20 CST 2012”是正确的 并不是你想象中的打印这个date --“2012-11-15 03:05:56 ” 需要你自己用的时候转换
Cactus_hxk 2012-11-15
  • 打赏
  • 举报
回复
Date d = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2012-11-15 14:40:00");
羊肉馅水饺 2012-11-15
  • 打赏
  • 举报
回复
引用 2 楼 scottxzj 的回复:
不行 你就看一下SimpleDateFormat的API吧 没看明白你说什么,反正你调那两个方法 确实就是那样
小鸟我还没出窝,言语表达的不是很清楚!要实现的功能就是把String类型的2012-11-15 03:05:56 转换成 Date类型的2012-11-15 03:05:56
羊肉馅水饺 2012-11-15
  • 打赏
  • 举报
回复
引用 1 楼 liu4626846 的回复:
我的理解是你想把一个已经定义好的date数据转换成你写的这种格式 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); format.format("直接传你的date类型的属性"); 还有不知道你到底要说什么!
这样说吧!怎样把String类型的2012-11-15 03:05:56 转换成 Date类型的2012-11-15 03:05:56
snow-is-my-Love 2012-11-15
  • 打赏
  • 举报
回复
不行 你就看一下SimpleDateFormat的API吧 没看明白你说什么,反正你调那两个方法 确实就是那样
liu4626846 2012-11-15
  • 打赏
  • 举报
回复
我的理解是你想把一个已经定义好的date数据转换成你写的这种格式 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); format.format("直接传你的date类型的属性"); 还有不知道你到底要说什么!

58,453

社区成员

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

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