在Java中将dateTime转换为dd / mm / yy格式的日期

我有一个JODA DateTime

2012-12-31T13:32:56.483+13:00。我想将其转换为日期dd/MM/yy格式。所以我期望代码返回日期-12/12/31。

代码-

    // Input dateTime = 2012-12-31T13:32:56.483+13:00

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yy");

Date date = simpleDateFormat.parse(dateTime.toString("dd/MM/yy"));

结果:

Output - Mon Dec 31 00:00:00 NZDT 2012

Expected Output - 31/12/12

当我执行以下操作时,我得到了预期的输出,但是我不知道如何将其转换为Date-

String string = simpleDateFormat.format(date);

请帮我。

谢谢

编辑-我希望最终结果是dd / mm / yy格式的使用日期。我不希望String输出。我的输入是Joda DateTime yyyy-MM-

ddThh:mm:ss:+ GMT。我需要将JodaDateTime转换为UtilDate。

回答:

正如我最初所说,Date对象没有固有的格式。java.util.Date持有毫秒时间值,代表日期和时间。通过选择DateFormat,可以从字符串解析日期或将日期格式化为字符串。

可以按照规范对字符串进行格式化,但是其后面的Date对象始终是全精度的,并且没有任何固有的格式概念。


要将组合的“日期和时间”截断java.util.Date为仅日期部分,而将其有效地保留在午夜:

public static Date truncateTime (Date date) {

Calendar cal = Calendar.getInstance();

cal.setTime( date);

cal.set( Calendar.HOUR_OF_DAY, 0);

cal.set( Calendar.MINUTE, 0);

cal.set( Calendar.SECOND, 0);

cal.set( Calendar.MILLISECOND, 0);

return cal.getTime();

}

如果您来自JodaTime DateTime,则可以在JodaTime API中更轻松地完成此操作。

public static Date truncateJodaDT (DateTime dt) {

java.util.Date result = dt.toDateMidnight().toDate();

return result;

}

希望这可以帮助!

看到:

  • http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html#toDateMidnight()
  • http://joda-time.sourceforge.net/apidocs/org/joda/time/base/AbstractInstant.html#toDate()


现在我不确定您想要什么。您现在想要字符串格式的日期吗?

return simpleDateFormat.format( date);    // from java.util.Date

或使用JodaTime:

return dateTime.toString( "dd/MM/yy");    // from org.joda.time.DateTime

以上是 在Java中将dateTime转换为dd / mm / yy格式的日期 的全部内容, 来源链接: utcz.com/qa/407988.html

回到顶部