quma
quma

Reputation: 5733

Convert joda DateTime to java.time.LocalDate

I would have one just simple question: How to convert from joda DateTime to LocalDate?

I have tried it like this but with no success:

final LocalDate startDate = LocalDate.ofEpochDay(start.getMillis());

Upvotes: 11

Views: 29750

Answers (2)

user8332750
user8332750

Reputation: 261

public class DateUtils {
    
    /**
     * Convert {@link java.time.LocalDate} to {@link org.joda.time.DateTime}
     */
    public DateTime toDateTime(LocalDate localDate) {
        return new DateTime(DateTimeZone.UTC).withDate(
            localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth()
        ).withTime(0, 0, 0, 0);
    }
    
    /**
     * Convert {@link org.joda.time.DateTime} to {@link java.time.LocalDate}
     */
    public LocalDate toLocalDate(DateTime dateTime) {
        DateTime dateTimeUtc = dateTime.withZone(DateTimeZone.UTC);
        return LocalDate.of(dateTimeUtc.getYear(), dateTimeUtc.getMonthOfYear(), dateTimeUtc.getDayOfMonth());
    }
}

Upvotes: 26

chengzi
chengzi

Reputation: 180

    LocalDateTime demoDateTime = Instant.ofEpochMilli(DateTime.now().getMillis())
            .atZone(ZoneId.systemDefault())
            .toLocalDateTime();
    demoDateTime.toLocalDate();
    demoDateTime.toLocalTime();

use mili seconds to convert.

Upvotes: -3

Related Questions