【问题标题】:convert String in time to Time object without Date将字符串及时转换为没有日期的时间对象
【发布时间】:2011-03-27 17:42:50
【问题描述】:

我在将字符串时间转换为时间对象时遇到问题,因为它与日期一起打印。这是我的代码。

String time = "15:30:18";

DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
Date date = sdf.parse(time);

System.out.println("Time: " + date);

如何在 java 中只转换和打印没有日期的时间。能举个例子就更好了。

谢谢。

【问题讨论】:

    标签: java date time


    【解决方案1】:

    使用与解析它相同的SimpleDateFormat

    String time = "15:30:18";
    
    DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
    Date date = sdf.parse(time);
    
    System.out.println("Time: " + sdf.format(date));
    

    请记住,Date 对象始终表示组合的日期/时间值。它不能正确表示仅日期或仅时间值,因此您必须使用正确的DateFormat 以确保您只“看到”您想要的部分。

    【讨论】:

      【解决方案2】:

      这个也可以

      String t = "00:00:00" 
      Time.valueOf(t);
      

      【讨论】:

        【解决方案3】:

        乔达时间 | java.time

        如果您想要一个没有日期和时区的纯时间值,那么您必须使用Joda-Time 库或 Java 8 中捆绑的新 java.time 包(受 Joda-Time 启发)。

        这两个框架都提供了LocalTime 类。

        在 Joda-Time 2.4 中…

        LocalTime localTime = new LocalTime( "15:30:18" );
        

        在 java.time...

        LocalTime localTime = LocalTime.parse( "15:30:18" );
        

        【讨论】:

          猜你喜欢
          • 2014-06-13
          • 2014-12-13
          • 2012-03-15
          • 2022-01-26
          • 2023-04-09
          • 1970-01-01
          • 2012-10-18
          • 1970-01-01
          相关资源
          最近更新 更多