日出和日落计算器

Sunrise and Sunset Calculator

我正在尝试获取凤凰城的日出和日落时间。

我正在使用: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);
        }
    }

输出

3 月 14 日星期六 21:35:51 MST 2015 官方日出:13:39

3 月 14 日星期六 21:35:51 MST 2015 官方日落:13:39

关于日出和日落时间不正确的任何建议?

日落时间请拨打getOfficialSunsetForDate(Calendar.getInstance());

我不确定你的 Phoenix timeZoneIdentifier 是否正确。能否请您将其更改为:America/Phoenix

另外,您的日历应该在正确的时区创建:

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);

        }
    }

从以下位置获取时区:http://tutorials.jenkov.com/java-date-time/java-util-timezone.html

输出:

官方日出:06:39

官方日落:18:36