在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 2012Expected 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