LocalTime from Date

后端 未结 4 1884
有刺的猬
有刺的猬 2020-12-18 23:09

I\'m trying to convert a Date instance to a LocalTime instance.

// Create the Date
Date date = format.parse(\"2011-02-18 05:00:00.0         


        
4条回答
  •  醉梦人生
    2020-12-18 23:26

    Your input is effectively a LocalDateTime. It would be much simpler to simply parse that to a LocalDateTime and then get the LocalTime from that. No time zones to worry about, no somewhat-legacy classes (avoid Date and Calendar where possible...)

    import java.time.*;
    import java.time.format.*;
    import java.util.*;
    
    public class Test {
    
        public static void main(String[] args) {
            DateTimeFormatter formatter =
                DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S", Locale.US);
    
            String text = "2011-02-18 05:00:00.0";
            LocalDateTime localDateTime = LocalDateTime.parse(text, formatter);
            LocalTime localTime = localDateTime.toLocalTime();
            System.out.println(localTime);
        }
    }
    

提交回复
热议问题