Java 如何从中检索季节

Java 如何从中检索季节,java,datetime,Java,Datetime,我有以秒为单位的时间戳,例如1543845960。我需要从这个时间戳中检索一个季节。我怎么做 ZoneId zone = ZoneId.systemDefault(); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(zone); String dt = df.format(Instant.ofEpochMilli(timestamp*1000)); 有没有什么内在的方法可以按区域划分赛季?例如

我有以秒为单位的时间戳,例如
1543845960
。我需要从这个时间戳中检索一个季节。我怎么做

ZoneId zone = ZoneId.systemDefault();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(zone);
String dt = df.format(Instant.ofEpochMilli(timestamp*1000));

有没有什么内在的方法可以按区域划分赛季?例如,冬季、春季、夏季或秋季是不可能的。首先,季节或多或少是一种文化现象。因此,时间不一定取决于时区,更确切地说,季节“开始”的时间可能会有所不同

另外,时区通常与季节没有多大关系。时区基于纵向边界,季节基于地球自转轴的倾斜。这意味着,北半球和南半球的季节是反周期的。所以当夏天在北半球时,冬天在南半球


因此,根据时区的不同,问题并不是你可以通用地实现的。

否,因为没有季节的默认定义:“不同的文化将不同的日期定义为冬季的开始,有些人使用基于天气的定义。”。看看这个:在昆士兰,全年都很热,所以他们有雨季和旱季。我的第一个想法是,该地区的信息不够。你也需要北半球和南半球,有些地方的夏至与其他的冬至正好相反。M0SKIT0这是正确答案。