0

我有一个存储当前时间的 DateTime 对象 DT。当我打印 DT 时,我希望它只打印时间部分,即 HH-MM-SS(H = 小时,M = 分钟,S = 秒)并忽略日期部分。

我怎样才能做到这一点 ?就此而言,是否甚至可以创建一个仅包含 HH-MM-SS 而与 date 无关的日期时间对象?如果这是真的,那么我可以简单地打印它而不是提取 HH-MM-SS 部分。

谢谢。

4

3 回答 3

3

如果你只想要时间,你应该使用 aLocalTime而不是 a DateTime。您可以使用DateTime.toLocalTime()来获取现有DateTime.

如果你真的想在格式化DateTime时保留但只显示时间部分,你可以创建一个只包含时间部分的模式,但我通常认为这是一种设计味道。DateTimeFormatter

于 2012-09-25T07:23:37.133 回答
0

您可以使用 java.util.Date 包中的 Java 日期格式化程序。

像 :

  日期 todaysDate = new java.util.Date();

  1. // 将日期格式化为 yyyy-MM-dd HH:mm:ss 例如 2008-10-10 11:21:10
     SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     字符串 formattedDate = formatter.format(todaysDate);

  2. // 将日期格式化为 yyyy-MM-dd 例如 2008-10-10
     formatter = new SimpleDateFormat("yyyy-MM-dd");
     formattedDate = formatter.format(todaysDate);

  3. // 将日期格式化为 MM/dd/yyyy 例如 10/10/2008
    formatter = new SimpleDateFormat("MM/dd/yyyy");
    formattedDate = formatter.format(todaysDate);
于 2012-09-25T07:31:19.440 回答
0

使用Java,您可以这样做

Date obj = new Date() ;
        System.out.println(new SimpleDateFormat("hh:mm:ss").format(obj)) ;

但这可能是一个昂贵的电话。但是 jodatime 提供了 LocalTime ,您可以尝试一下。

于 2012-09-25T07:35:16.623 回答