如何获取DateTime对象的特定部分?

时间:2012-09-25 07:21:40

标签: java jodatime

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

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

感谢。

3 个答案:

答案 0 :(得分:3)

如果您只想要时间,则应使用LocalTime代替DateTime。您可以使用DateTime.toLocalTime()获取现有DateTime的时间部分。

如果您确实要保留DateTime但仅在格式化时显示时间部分,则可以使用仅包含时间部分的模式创建DateTimeFormatter,但我通常认为这是一种设计气味。

答案 1 :(得分:0)

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

喜欢:

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

  1. // Formatting date into  yyyy-MM-dd HH:mm:ss e.g 2008-10-10 11:21:10
     SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     String formattedDate = formatter.format(todaysDate);

  2. // Formatting date into  yyyy-MM-dd e.g 2008-10-10 
     formatter = new SimpleDateFormat("yyyy-MM-dd");
     formattedDate = formatter.format(todaysDate);

  3. // Formatting date into  MM/dd/yyyy e.g 10/10/2008 
    formatter = new SimpleDateFormat("MM/dd/yyyy");
    formattedDate = formatter.format(todaysDate);

答案 2 :(得分:0)

使用Java,你可以这样做

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

但这可能是一个昂贵的电话。 但是jodatime给出了LocalTime,你可以试试。