我需要在给定时间戳的某个时区找到月末的时间戳。
以下代码以UTC
返回月份时间戳的开头DateTime allInOneLine = new DateTime( DateTimeZone.forID( "Europe/Paris" ) ).plusMonths( 1 ).dayOfMonth().withMinimumValue().withTimeAtStartOfDay();
返回:
2017-12-01T00:00:00.000Z
有关如何获取给定时区的结束月份时间戳的任何建议
答案 0 :(得分:1)
以下是一个很好的起点。我已经通过了UTC,这可以在任何时区都是通用的
import java.time.LocalTime;
import java.time.ZonedDateTime;
import java.time.temporal.TemporalAdjusters;
import static java.time.ZoneOffset.UTC;
public class TruncateToMonth {
public static void main(String[] args) {
ZonedDateTime now = ZonedDateTime.now(UTC);
ZonedDateTime truncatedToMonth = now.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
System.out.println(truncatedToMonth);
System.out.println(truncatedToMonth.toInstant().getEpochSecond());
}
}