我在将SQL服务器的日期时间转换为已解决Parse Datetime to JAVA Date的java java.util.date
时遇到问题,但现在问题是我的datetime
(2013年1月1日)转换为{{1我希望它像Tue Jan 01 00:00:00 PKT 2013
它是否可能或我必须使用字符串...
我尝试了JODA time,但问题仍然存在。请指导我完成正确的路径
编辑:
我在SQL服务器数据库中的01 Jan 2013
格式为datetime
,例如dd MMM yyyy
我必须从01 Jan 2013
获取值SqlRowSet
现在转换为rs.getString(4)
我使用上面提到的问题中的指南从数据库获取到java.util.date
的日期时间字符串,但问题是它添加了区域和类似的附加信息,如
2013年1月1日SQL Server格式日期时间
Tue Jan 01 00:00:00 PKT 2013 java.util.date format
我想要的是java.util.date
就像01 Jan 2013
答案 0 :(得分:2)
java.util.Date
内部由数字(long
)表示,而不是由日,月,小时等字段表示...您可以通过{{1}格式化此数字来获取这些数字}}。您现在获得的字符串是使用SimpleDateFormat
获得的默认表示。如果您希望格式不同,请使用Date.toString()
。
答案 1 :(得分:1)
http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html将完成这项工作。
SimpleDateFormat sdf = new SimpleDateFormat( "dd MMM yyyy" );
System.out.println( sdf.format( date ) );
只要您所需的格式与特定区域设置匹配,也可以使用http://docs.oracle.com/javase/1.4.2/docs/api/java/text/DateFormat.html。
这是一个接近你想要的例子:
DateFormat df = DateFormat.getDateInstance( DateFormat.LONG, Locale.UK );
System.out.println( df.format( date ) );
编辑:为了从行集中获取日期,只需调用
Date date = rs.getDate(4);
它将根据您的需要返回日期对象。
答案 2 :(得分:0)
在我看来betetr use,Joda Time API可以轻松操作日期时间字段。这个API对此非常有用。在java.util.Date
包中使用Date Time格式化程序或简单的日期时间格式化程序类。这对于获得理想的结果更有帮助。
答案 3 :(得分:0)
@Jakub正确地提到了。您可以使用java.text.SimpleDateFormat
java.util.Date today=new java.util.Date();
SimpleDateFormat format=new SimpleDateFormat("dd MMM yyyy");
System.out.println(format.format(today));
我用它来格式化今天的日期。您可以从数据库中检索日期,也可以采用类似的方式。但请记住,如果您使用rs.getDate()
,它会返回java.sql.Date
。因此,你可以继续。