我需要使用ZonedDateTime
的EST午夜timstamp。
格式应为2019-04-16 00:00:00
请帮忙。
答案 0 :(得分:1)
LocalDate::atStartOfDay
EST
不是时区。避免使用2-4个字符的伪区域。实时区的名称为Continent/Region
。也许您是指America/New_York
或America/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));
}
}