我有许多格式为“1231469665”的时间戳,是数据集的一部分,我正在执行的任务需要我找出数据集中每个月发生的事件实例数。
{
int timestamp = 1231469665;
java.util.Date time = new java.util.Date((long)timestamp*1000);
}
Run Code Online (Sandbox Code Playgroud)
上面给出了'Fri Jan 09 02:54:25 UTC 2009',我只需要知道其中的月份和年份。
你能帮我吗?
Java time api 使这变得容易。使用Instant.ofEpochSecond(long)获得Instant,然后LocalDateTime.ofInstant()获得LocalDateTime。最后,这会给你年和月这样的
Instant instant = Instant.ofEpochSecond(timestamp);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.of("UTC"));
System.out.printf("year = %d, month = %s%n", ldt.getYear(), ldt.getMonth());
Run Code Online (Sandbox Code Playgroud)
我得到(对于 1231469665)
year = 2009, month = JANUARY
Run Code Online (Sandbox Code Playgroud)