Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LocalTime from Date

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");    

// Convert to Calendar
Calendar cal = Calendar.getInstance();
cal.setTime(date);

// Convert Calendar to LocalTime
Instant instant = Instant.ofEpochMilli(cal.getTimeInMillis());
LocalTime convert = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()).toLocalTime();

I don't get a compiler error but the LocalTime instance values are wrong.

I think it does not work because Date stores time in fasttime instead of cdate.

I'm using JDK version 1.8.

like image 212
Stanko Avatar asked Apr 28 '15 18:04

Stanko


People also ask

How is LocalTime calculated?

Local time is one hour ahead for each time zone as one travels east, and one hour behind for each time zone as one travels west. So, for example, when it is noon in New York City, it is 11:00 a.m. in Chicago, 10:00 a.m. in Denver, and 9:00 a.m. in Los Angeles.

How do I convert date to local time?

You can use the ToLocalTime() method to restore a local date and time value that was converted to UTC by the ToUniversalTime() or FromFileTimeUtc(Int64) method.

What does LocalTime represent date without time?

What does LocalTime represent? Explanation: LocalTime of joda library represents time without date. 9.

What is a LocalTime in the Java 8 date and time API?

The LocalTime represents time without a date. Similar to LocalDate, we can create an instance of LocalTime from the system clock or by using parse and of methods.


1 Answers

This is also quite simple:

LocalTime time = LocalDateTime.ofInstant(new Date().toInstant(),
    ZoneId.systemDefault()).toLocalTime();
like image 153
johanwannheden Avatar answered Sep 22 '22 23:09

johanwannheden