从日期JAVA中删除秒和区域信息

时间:2012-12-20 09:27:23

标签: java datetime

我在将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

4 个答案:

答案 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。因此,你可以继续。

相关问题