Sar*_*ara 3 java datetime date
我有一个JODA DateTime 2012-12-31T13:32:56.483+13:00.我想将它转换为日期dd/MM/yy格式.所以我期待代码返回日期,如 -  2012年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格式的Util Date.我不想要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;
}
希望这可以帮助!
看到:
现在我再次不确定,你想要什么.您现在想要字符串格式的日期吗?
return simpleDateFormat.format( date);    // from java.util.Date
或者使用JodaTime:
return dateTime.toString( "dd/MM/yy");    // from org.joda.time.DateTime
这是你如何做到的
Format formatter = new SimpleDateFormat("dd/MM/yy");
String string = formatter.format(date);
| 归档时间: | 
 | 
| 查看次数: | 51441 次 | 
| 最近记录: |