当前位置: 首页 > 面试题库 >

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

吉俊德
2023-03-14
问题内容

我有一个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


 类似资料:
  • 我正试图用2018年9月4日的下午6:30:00(2018年3月9日)获得这个日期,但我得到的是2017年12月364日的下午6:30:00,以下是我尝试过的。

  • 问题内容: 我有一个日期为dd-mm-yyyy格式的日期(在我的数据库内)。我需要将其转换为dd-mm-yy格式。我从db中检索了日期并将其存储在字符串中。 1990并不是完全需要的,只需要90.使用java中的split()我尝试了一些东西,但它不会帮助我。任何人都可以帮忙。任何帮助将不胜感激。 问题答案: 试试下面的代码

  • 问题内容: 我有一个格式。我希望它采用以下格式 以下是我尝试进行此转换的示例: 我得到的输出仍然不是格式。 请让我知道如何格式化从到 问题答案: 是自Unix纪元(1970年1月1日UTC:00:00)以来的毫秒数的容器。 它没有格式的概念。 输出…

  • 问题内容: 我正在尝试从转换日期。我已经使用了mktime()函数和其他函数,但是我似乎无法使其工作。我已经成功地将原始日期用作定界符,但更改格式并将其与交换时没有成功。 任何帮助将不胜感激。 问题答案: 通过查看各个组成部分之间的分隔符,可以消除或格式中的日期的歧义:如果该分隔符是斜杠(),则假定为American ;否则,为0。反之,如果分隔符是破折号()或点(),则采用欧洲格式。 使用默认的

  • 我有一个格式为。我希望它的格式为 下面是我尝试进行此转换的示例util: 但是,我得到的输出不是格式。 请告诉我如何将从格式化为

  • 问题内容: 我想将日期yyyy-mm-dd(以日期格式存储)转换为mmm-yy格式。 网站上的先前问题中没有完全匹配的内容。 我尝试了子字符串和转换函数,当时正在考虑创建一个标量函数,但是这花了我一段时间,希望有人能提供一个简单的解决方案。 问题答案: 您可以使用字符串操作构造格式: 或使用: