根据自定义设置日期格式

时间:2013-08-06 09:43:36

标签: java date

我需要用这种格式写日期,如下所示..

20130509 06:00

我正在日期对象中从数据库中检索日期,如下所示

 Date s = ((java.util.Date) ((Object[]) object)[++i]);

现在请告知我如何以上述格式设置日期,如下所示

Date s = ((java.util.Date) ((Object[]) object)[++i]);
                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm");
                Date t = sdf.parse(s);

下面显示编译问题,因为我不希望在字符串中我希望它始终保留在日期类型

4 个答案:

答案 0 :(得分:2)

使用SimpleDateFormat

Date s = ((java.util.Date) ((Object[]) object)[++i]);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm");
String date = sdf.format(s);
System.out.println(date);

答案 1 :(得分:1)

我认为这不是正确的答案。但这可能有助于某人

https://android.stackexchange.com/questions/21870/customize-date-display-format

答案 2 :(得分:0)

假设您需要Date对象中的String Object(即将java.util.Date转换为java.lang.String),

Date s = ((java.util.Date) ((Object[]) object)[++i]);
String myDate = new SimpleDateFormat("yyyyMMdd HH:mm").format(s);
System.out.println(myDate);

修改1:

我猜你想在检索日期时截断Seconds部分, 你可以在你的查询中执行此操作,或者只是将String再次转换回Date(我相信这很粗糙,在查询中执行它是最好的方法,IMO)。

包含上述代码,

 Date truncatedDate = new SimpleDateFormat("yyyyMMdd HH:mm").parse(myDate); 

编辑2:在您的代码中,您尝试使用SimpleDateFormat的parse方法解析Date对象,该方法只接受String,因此会产生编译错误。

HTH。

答案 3 :(得分:0)

试试这个

    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm");
    Date now = new Date();
    String nDate = sdf.format(now);
    System.out.println("New Date:"+nDate);