Java:如何在给定时区的月底找到时间戳
Java: How to find timestamp at the end of the month for a given timezone
我需要从给定时间戳中找到给定时区的月末时间戳。
以下代码returns UTC 中月份开始的时间戳
DateTime allInOneLine = new DateTime( DateTimeZone.forID( "Europe/Paris" ) ).plusMonths( 1 ).dayOfMonth().withMinimumValue().withTimeAtStartOfDay();
returns:
2017-12-01T00:00:00.000Z
关于如何获取给定时区的月底时间戳的任何建议
以下是一个很好的起点。我已经通过了 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());
}
}
我需要从给定时间戳中找到给定时区的月末时间戳。
以下代码returns UTC 中月份开始的时间戳
DateTime allInOneLine = new DateTime( DateTimeZone.forID( "Europe/Paris" ) ).plusMonths( 1 ).dayOfMonth().withMinimumValue().withTimeAtStartOfDay();
returns:
2017-12-01T00:00:00.000Z
关于如何获取给定时区的月底时间戳的任何建议
以下是一个很好的起点。我已经通过了 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());
}
}