gpt4 book ai didi

java - 在java中将dateTime转换为dd/MM/yy格式的日期

转载 作者:搜寻专家 更新时间:2023-11-01 04:02:58 25 4
gpt4 key购买 nike

我有一个 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。我不想要字符串输出。我的输入是 Joda DateTime yyyy-MM-ddThh:mm:ss:+GMT。我需要将 JodaDateTime 转换为 UtilDate。

最佳答案

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

字符串可能会根据规范进行格式化,但它们背后的 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

关于java - 在java中将dateTime转换为dd/MM/yy格式的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18928064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com