I am trying to get Sunrise and Sunset time for Phoenix.
I am using : https://github.com/mikereedell/sunrisesunsetlib-java
package sunriseSunsetCalculator;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator;
import com.luckycatlabs.sunrisesunset.dto.Location;
public class getSunriseSunet
{
public static void main (String[] args) throws IOException
{
Location location = new Location("33.4500", "-112.0667");
SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(location, "Phoenix");
Date today = Calendar.getInstance().getTime();
String officialSunrise = calculator.getOfficialSunriseForDate(Calendar.getInstance());
String officialSunset = calculator.getOfficialSunriseForDate(Calendar.getInstance());
System.out.println(today + " officialSunrise : " + officialSunrise);
System.out.println(today + " officialSunset : " + officialSunset);
}
}
output
Sat Mar 14 21:35:51 MST 2015 officialSunrise : 13:39
Sat Mar 14 21:35:51 MST 2015 officialSunset : 13:39
Any suggestion why the Sunrise and Sunset time are incorrect ?
对于日落时间,请调用getOfficialSunsetForDate(Calendar.getInstance());
I am not sure if your timeZoneIdentifier for Phoenix is correct. Could you please change it to: America/Phoenix
Also you Calendar should be created in the correct time zone:
SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(lcation, "US/Phoenix");
Calendar today = new GregorianCalendar(TimeZone.getTimeZone("US/Phoenix"));
String sunrise = calculator.getOfficialSunriseForDate(today);
String sunset = calculator.getOfficialSunsetForDate(today);
package sunriseSunsetCalculator;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator;
import com.luckycatlabs.sunrisesunset.dto.Location;
public class getSunriseSunet
{
public static void main (String[] args) throws IOException
{
Location location = new Location("33.4500", "-112.0667");
SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(location, "US/Arizona");
Calendar today = new GregorianCalendar(TimeZone.getTimeZone("US/Arizona"));
String officialSunrise = calculator.getOfficialSunriseForDate(today);
String officialSunset = calculator.getOfficialSunsetForDate(today);
System.out.println(" officialSunrise : " + officialSunrise);
System.out.println(" officialSunset : " + officialSunset);
}
}
Get Time Zones from : http://tutorials.jenkov.com/java-date-time/java-util-timezone.html
Output:
officialSunrise : 06:39
officialSunset : 18:36
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.