我有一个以秒为单位的时间戳,例如1543845960
。我需要从这个时间戳中检索一个季节。我该怎么做?
ZoneId zone = ZoneId.systemDefault();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(zone);
String dt = df.format(Instant.ofEpochMilli(timestamp*1000));
是否有任何内置方法可以按区域获取季节?例如。 winter
, spring
, summer
或autumn
.
最佳答案
不可能。首先,季节或多或少是一种文化事物。因此,时间不一定取决于时区,或者季节“开始”的时间可能会有所不同。
此外,时区一般与季节没有太大关系。时区基于经度边界,季节基于地球自转轴的倾斜度。这意味着北半球和南半球的季节是反周期的。因此,当北半球进入夏季时,南半球就进入冬季。
因此,这个问题不是一个可以通用实现的问题,具体取决于时区。
关于java - 如何从纪元毫秒检索季节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53596019/