//-----------------------------------------------------------------------------
// SunTest.java
//
// (c) 2004 Jonathan Stott
//
// Created on 30-Mar-2004
//
// 0.2 - 13 Apr 2004
// - Updated handling of time zones to use the TimeZone class
// - Changed dates to Calendar objects and used
// uk.me.jstott.util.JulianDateConverter to convert them to Julian dates
// 0.1 - 30 Mar 2004
// - First version
//-----------------------------------------------------------------------------
package uk.me.jstott.sun;
import java.util.Calendar;
import java.util.TimeZone;
import uk.me.jstott.coordconv.LatitudeLongitude;
import uk.me.jstott.util.JulianDateConverter;
/**
* Example usage of the Sun class.
*
* For more information on using this class, look at
* http://www.jstott.me.uk/jsuntimes/
*
* @author Jonathan Stott
* @version 0.1
*/
public class SunTest {
/**
* Main method
*
* @param args
*/
public static void main(String[] args) {
//-------------------------------------------------------------------------
// Calculate sunrise and sunet times for Canterbury, England for today
//-------------------------------------------------------------------------
LatitudeLongitude ll = new LatitudeLongitude(
LatitudeLongitude.NORTH, 51, 17, 38.0,
LatitudeLongitude.EAST, 1, 5, 27.0);
TimeZone gmt = TimeZone.getTimeZone("Europe/London");
Calendar cal = Calendar.getInstance();
double julian = JulianDateConverter.dateToJulian(cal);
boolean dst = false;
System.out.println("\n\nCanterbury, England - " +
cal.get(Calendar.DAY_OF_MONTH) + "/" +
(cal.get(Calendar.MONTH)+1) + "/" +
cal.get(Calendar.YEAR) + "(" + ll.toString() + ")");
System.out.println("Astronomical twilight = " +
Sun.morningAstronomicalTwilightTime(julian, ll,
gmt, dst));
System.out.println("Nautical twilight = " +
Sun.morningNauticalTwilightTime(julian, ll, gmt, dst));
System.out.println("Civil twilight = " +
Sun.morningCivilTwilightTime(julian, ll, gmt, dst));
System.out.println("Sunrise = " +
Sun.sunriseTime(julian, ll, gmt, dst));
System.out.println("Sunset = " +
Sun.sunsetTime(julian, ll, gmt, dst));
System.out.println("Civil twilight = " +
Sun.eveningCivilTwilightTime(julian, ll, gmt, dst));
System.out.println("Nautical twilight = " +
Sun.eveningNauticalTwilightTime(julian, ll, gmt, dst));
System.out.println("Astronomical twilight = " +
Sun.eveningAstronomicalTwilightTime(julian, ll,
gmt, dst));
//-------------------------------------------------------------------------
// Calculate sunrise and sunset time for Philadelphia, USA for today
//-------------------------------------------------------------------------
LatitudeLongitude ll2 = new LatitudeLongitude(39.9561, -75.1645);
TimeZone est = TimeZone.getTimeZone("US/Eastern");
System.out.println("\n\nPhiladelphia, USA - " +
cal.get(Calendar.DAY_OF_MONTH) + "/" +
(cal.get(Calendar.MONTH)+1) + "/" +
cal.get(Calendar.YEAR));
System.out.println("Astronomical twilight = " +
Sun.morningAstronomicalTwilightTime(julian, ll2,
est, dst));
System.out.println("Nautical twilight = " +
Sun.morningNauticalTwilightTime(julian, ll2,
est, dst));
System.out.println("Civil twilight = " +
Sun.morningCivilTwilightTime(julian, ll2, est, dst));
System.out.println("Sunrise = " +
Sun.sunriseTime(julian, ll2, est, dst));
System.out.println("Sunset = " +
Sun.sunsetTime(julian, ll2, est, dst));
System.out.println("Civil twilight = " +
Sun.eveningCivilTwilightTime(julian, ll2, est, dst));
System.out.println("Nautical twilight = " +
Sun.eveningNauticalTwilightTime(julian, ll2,
est, dst));
System.out.println("Astronomical twilight = " +
Sun.eveningAstronomicalTwilightTime(julian, ll2,
est, dst));
}
}