我想知道某个特定日期是否属于:
春天
夏天
秋天
冬
这就是我初始化DateTime的方法
DateTimeZone timeZone = DateTimeZone.forID("America/Los_Angeles");
timestamp = new DateTime(unixtimestamp, timeZone);
是否可以使用JodaTime?
我发现了一个类似的帖子很有用,但它没有考虑到Hemisphere:
答案 0 :(得分:0)
不,joda时间不提供此功能。它为您提供有关时间的信息,该时间与地球在其轴上旋转的程度有关。季节与地球相对于太阳的旋转有关。所以即使"洛杉矶"在北半球,Joda时间并不知道。它只知道它的时区是UTC-08:00
,它存在于两个半球中。
幸运的是,地球在太阳周围(合理地)可预测地和周期性地旋转。所以在任何时候你都可以确定给定时间和半球的赛季。在引用的堆栈溢出中,它们基本上固定了半球,使得时间和季节中只有两个变量。
如果你想考虑半球,你可以使用现有的解决方案,最后写一个功能,如果你的位置在南半球而不是北半球,将会颠倒季节。
解决方案留给读者作为练习