如何从ZonedDateTime获取EST午夜时间戳记

时间:2019-04-16 05:54:13

标签: java

我需要使用ZonedDateTime的EST午夜timstamp。 格式应为2019-04-16 00:00:00 请帮忙。

2 个答案:

答案 0 :(得分:1)

LocalDate::atStartOfDay

EST不是时区。避免使用2-4个字符的伪区域。实时区的名称为Continent/Region。也许您是指America/New_YorkAmerica/Montreal之类的区域。

LocalDate确定第一时刻。某些区域中的某些日子不是从00:00:00开始,而是可能在其他时间(例如01:00:00)开始。

ZoneId z = ZoneId.of( "America/New_York" ;
LocalDate today = LocalDate.now( z ) ;
ZonedDateTime zdt = today.atStartOfDay( z ) ;
String output = zdt.format( DateTimeFormatter.ISO_LOCAL_DATE_TIME ).replace( "T" , " " ) ;

答案 1 :(得分:0)

尝试一下

import java.time.ZonedDateTime;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class TestTime{

    public static void main(String[] args){
        ZonedDateTime date = ZonedDateTime.now();
        System.out.println(date);

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime localDate = date.toLocalDateTime();
        System.out.println(localDate.format(formatter));
    }
}