public class ISun
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ISun.City |
static class |
ISun.DateIterator |
static class |
ISun.DateRange |
static class |
ISun.Location |
static class |
ISun.SearchBuffer |
Modifier and Type | Field and Description |
---|---|
static boolean |
aberrationCorrection |
double |
altitude |
double |
azimuth |
java.util.ArrayList<ISun.SearchBuffer> |
buffers |
static int |
bufferSampleNum
internal search buffer default sample num per a day
|
int |
day
input time info
|
boolean |
daylightSaving
switch to interpret hour as hour in daylight saving day
|
IVec |
dir |
double |
elevation
height(altitude) of the location
|
double |
hour
hour includes fraction of minutes and seconds
|
double |
latitude
input location info
|
double |
longitude
input location info
|
static boolean |
measureAzimuthFromSouth |
int |
month
input time info
|
IVec |
northDir |
static boolean |
nutationCorrection |
static boolean |
precessionCorrection |
static boolean |
refractionCorrection |
double |
timeZone
time zone as difference of hours from GMT; -12 - +12
|
boolean |
updateAngle |
int |
year
input time info
|
Constructor and Description |
---|
ISun() |
ISun(double latitude,
double longitude,
double timeZone) |
ISun(double latitude,
double longitude,
double elevation,
double timeZone) |
ISun(double latitude,
double longitude,
double elevation,
double timeZone,
int year,
int month,
int day,
double hour,
boolean daylightSavingTime) |
ISun(double latitude,
double longitude,
double elevation,
double timeZone,
IVec northDir) |
ISun(double latitude,
double longitude,
double elevation,
double timeZone,
IVec northDir,
int year,
int month,
int day,
double hour,
boolean daylightSavingTime) |
ISun(double latitude,
double longitude,
double timeZone,
IVec northDir) |
ISun(ISun.City city) |
ISun(ISun.City city,
IVec northDir) |
ISun(ISun.Location location) |
ISun(ISun.Location location,
IVec northDir) |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
adstring(double ra) |
double |
altitude()
calculate altitude angle
|
static double |
altitude(double latitude,
double longitude,
double elevation,
double timeZone,
int year,
int month,
int day,
double hour,
boolean daylightSavingTime)
calculate altitude angle at the given time and location
hour can include fraction of minutes
|
double |
altitude(int year,
int month,
int day,
double hour)
calculate altitude angle at the given time.
|
double |
altitude(int year,
int month,
int day,
double hour,
boolean daylightSavingTime)
calculate altitude angle at the given time.
|
double |
altitude(int year,
int month,
int day,
int hour,
double minute)
calculate altitude angle at the given time.
|
double |
altitude(int year,
int month,
int day,
int hour,
double minute,
boolean daylightSavingTime)
calculate altitude angle at the given time.
|
double |
altitude(int year,
int month,
int day,
int hour,
int minute,
double second)
calculate altitude angle at the given time.
|
double |
altitude(int year,
int month,
int day,
int hour,
int minute,
double second,
boolean daylightSavingTime)
calculate altitude angle at the given time.
|
double |
altitudeAt(double azimuth,
int year,
int month,
int day)
search altitude in the specified date when sun comes in the direction of azimuth
|
double |
altitudeAt(double azimuth,
int year,
int month,
int day,
int sampleNumber)
search altitude in the specified date when sun comes in the direction of azimuth
|
double |
altitudeAt(IVec azimuthDir,
int year,
int month,
int day)
search altitude in the specified date when sun comes in the direction of azimuth
|
double[] |
angles() |
static double[] |
angles(double latitude,
double longitude,
double elevation,
double timeZone,
int year,
int month,
int day,
double hour,
boolean daylightSavingTime)
alias of calcAngle.
|
double[] |
angles(int year,
int month,
int day,
double hour) |
double[] |
angles(int year,
int month,
int day,
double hour,
boolean daylightSavingTime) |
double[] |
angles(int year,
int month,
int day,
int hour,
double minute) |
double[] |
angles(int year,
int month,
int day,
int hour,
double minute,
boolean daylightSavingTime) |
double[] |
angles(int year,
int month,
int day,
int hour,
int minute,
double second) |
double[] |
angles(int year,
int month,
int day,
int hour,
int minute,
double second,
boolean daylightSavingTime) |
double |
azimuth()
calculate azimuth.
|
static double |
azimuth(double latitude,
double longitude,
double elevation,
double timeZone,
int year,
int month,
int day,
double hour,
boolean daylightSavingTime)
calculate azimuth angle at the given time and location
hour can include fraction of minutes
|
double |
azimuth(int year,
int month,
int day,
double hour)
calculate azimuth at the given time.
|
double |
azimuth(int year,
int month,
int day,
double hour,
boolean daylightSavingTime)
calculate azimuth at the given time.
|
double |
azimuth(int year,
int month,
int day,
int hour,
double minute)
calculate azimuth at the given time.
|
double |
azimuth(int year,
int month,
int day,
int hour,
double minute,
boolean daylightSavingTime)
calculate azimu at the given time.
|
double |
azimuth(int year,
int month,
int day,
int hour,
int minute,
double second)
calculate azimuth at the given time.
|
double |
azimuth(int year,
int month,
int day,
int hour,
int minute,
double second,
boolean daylightSavingTime)
calculate azimuth at the given time.
|
static double |
azimuth(IVec azimuthDir,
IVec northDirection)
conveting vector to azimuth angle
|
ISun |
calc() |
static double[] |
calcAngle(double latitude,
double longitude,
double elevation,
double timeZone,
int year,
int month,
int day,
double hour,
boolean daylightSavingTime)
calculate altitude and azimuth angle.
|
static double[] |
calcEquatorialCoordinates(double julianDate) |
static double[] |
calcHorizontalCoordinates(double rightAscension,
double declination,
double julianDate,
double latitude,
double longitude,
double elevation,
double eclipticLongitude) |
static double[] |
coaberration(double julianDate,
double rightAscension,
double declination,
double eps,
double eclipticLongitude) |
static double[] |
conutate(double julianDate,
double rightAscension,
double declination) |
static double |
corefract(double altitudeAngle,
double elevation) |
static double |
corefractForward(double altitudeAngle,
double pressure,
double temperature) |
static java.lang.String |
degStr(double deg) |
IVec |
dir() |
static IVec |
dir(double latitude,
double longitude,
double elevation,
double timeZone,
IVec northDir,
int year,
int month,
int day,
double hour,
boolean daylightSavingTime) |
IVec |
dir(int year,
int month,
int day,
double hour) |
IVec |
dir(int year,
int month,
int day,
double hour,
boolean daylightSavingTime) |
IVec |
dir(int year,
int month,
int day,
int hour,
double minute) |
IVec |
dir(int year,
int month,
int day,
int hour,
double minute,
boolean daylightSavingTime) |
IVec |
dir(int year,
int month,
int day,
int hour,
int minute,
double second) |
IVec |
dir(int year,
int month,
int day,
int hour,
int minute,
double second,
boolean daylightSavingTime) |
IVec |
dirAt(double azimuth,
int year,
int month,
int day)
solar direction vector at specified azimuth on the date
|
IVec |
dirAt(double azimuth,
int year,
int month,
int day,
int sampleNumber)
solar direction vector at specified azimuth on the date
|
IVec |
dirAt(IVec azimuthDir,
int year,
int month,
int day)
solar direction vector at specified azimuth on the date
|
IVec |
direction() |
static IVec |
direction(double latitude,
double longitude,
double elevation,
double timeZone,
IVec northDir,
int year,
int month,
int day,
double hour,
boolean daylightSavingTime) |
static IVec |
direction(double altitude,
double azimuth,
IVec northDir)
converting azimuth and altitude to XYZ vector
|
IVec |
direction(int year,
int month,
int day,
double hour) |
IVec |
direction(int year,
int month,
int day,
double hour,
boolean daylightSavingTime) |
IVec |
direction(int year,
int month,
int day,
int hour,
double minute) |
IVec |
direction(int year,
int month,
int day,
int hour,
double minute,
boolean daylightSavingTime) |
IVec |
direction(int year,
int month,
int day,
int hour,
int minute,
double second) |
IVec |
direction(int year,
int month,
int day,
int hour,
int minute,
double second,
boolean daylightSavingTime) |
IVec |
directionAt(double azimuth,
int year,
int month,
int day)
solar direction vector at specified azimuth on the date
|
IVec |
directionAt(double azimuth,
int year,
int month,
int day,
int sampleNumber)
solar direction vector at specified azimuth on the date
|
IVec |
directionAt(IVec azimuthDir,
int year,
int month,
int day)
solar direction vector at specified azimuth on the date
|
static int |
endDayOfMonth(int year,
int month) |
IVec |
highestDirAt(double azimuth,
int year)
highest solar vector in the specified azimuth through the year
|
IVec |
highestDirAt(double azimuth,
ISun.DateRange dates)
highest solar vector in the specified azimuth through the year
|
IVec |
highestDirAt(double azimuth,
ISun.DateRange dates,
int sampleNumber)
highest solar vector in the specified azimuth through the year
|
IVec |
highestDirAt(IVec azimuthDir,
int year)
highest solar vector in the specified azimuth through the year
|
IVec |
highestDirAt(IVec azimuthDir,
ISun.DateRange dates)
highest solar vector in the specified azimuth through the year
|
double |
hourAt(double azimuth,
int year,
int month,
int day,
boolean daylightSavingTime)
search hour in the specified date when sun comes in the direction of azimuth
|
double |
hourAt(double azimuth,
int year,
int month,
int day,
boolean daylightSavingTime,
int sampleNumber)
search hour in the specified date when sun comes in the direction of azimuth
|
double |
hourAt(IVec azimuthDir,
int year,
int month,
int day,
boolean daylightSavingTime)
search hour in the specified date when sun comes in the direction of azimuth
|
static java.lang.String |
hourStr(double deg) |
static boolean |
isLeapYear(int year)
convert count of days from Jan 1st to month and date.
|
static double |
julianDate(int year,
int month,
int day,
double hour)
converting calender dates into julian dates.
|
static double |
localSiderealTime(double lng,
double jd)
convert from local civil time to local mean siderial time.
|
ISun |
location(double latitude,
double longitude,
double timeZone)
setting location
|
ISun |
location(double latitude,
double longitude,
double elevation,
double timeZone)
setting location
|
ISun |
location(double latitude,
double longitude,
double elevation,
double timeZone,
IVec northDir)
setting location
|
ISun |
location(double latitude,
double longitude,
double timeZone,
IVec northDir)
setting location
|
ISun |
location(ISun.City city)
setting location
|
ISun |
location(ISun.City city,
IVec northDir)
setting location
|
ISun |
location(ISun.Location location)
setting location
|
ISun |
location(ISun.Location location,
IVec northDir)
setting location
|
IVec[] |
lowestAndHighestDirAt(double azimuth,
int year)
highest and lowest solar vector in the specified azimuth through the year
|
IVec[] |
lowestAndHighestDirAt(double azimuth,
ISun.DateRange dates)
highest and lowest solar vector in the specified azimuth through the year
|
IVec[] |
lowestAndHighestDirAt(double azimuth,
ISun.DateRange dates,
int sampleNumber)
highest and lowest solar vector in the specified azimuth through the year
|
IVec[] |
lowestAndHighestDirAt(IVec azimuthDir,
int year)
highest and lowest solar vector in the specified azimuth through the year
|
IVec[] |
lowestAndHighestDirAt(IVec azimuthDir,
ISun.DateRange dates)
highest and lowest solar vector in the specified azimuth through the year
|
IVec |
lowestDirAt(double azimuth,
int year)
lowest solar vector in the specified azimuth through the year
|
IVec |
lowestDirAt(double azimuth,
ISun.DateRange dates)
lowest solar vector in the specified azimuth through the year
|
IVec |
lowestDirAt(double azimuth,
ISun.DateRange dates,
int sampleNumber)
lowest solar vector in the specified azimuth through the year
|
IVec |
lowestDirAt(IVec azimuthDir,
int year)
lowest solar vector in the specified azimuth through the year
|
IVec |
lowestDirAt(IVec azimuthDir,
ISun.DateRange dates)
lowest solar vector in the specified azimuth through the year
|
static void |
main(java.lang.String[] args) |
double |
maxAltitudeAt(double azimuth,
int year)
max altitude angle in the specified azimuth through the year
|
double |
maxAltitudeAt(double azimuth,
ISun.DateRange dates)
max altitude angle in the specified azimuth through the year
|
double |
maxAltitudeAt(double azimuth,
ISun.DateRange dates,
int sampleNumber)
max altitude angle in the specified azimuth through the year
|
double |
maxAltitudeAt(IVec azimuthDir,
int year)
max altitude angle in the specified azimuth through the year
|
double |
maxAltitudeAt(IVec azimuthDir,
ISun.DateRange dates)
max altitude angle in the specified azimuth through the year
|
double |
minAltitudeAt(double azimuth,
int year)
min altitude angle in the specified azimuth through the year
|
double |
minAltitudeAt(double azimuth,
ISun.DateRange dates)
min altitude angle in the specified azimuth through the year
|
double |
minAltitudeAt(double azimuth,
ISun.DateRange dates,
int sampleNumber)
min altitude angle in the specified azimuth through the year
|
double |
minAltitudeAt(IVec azimuthDir,
int year)
min altitude angle in the specified azimuth through the year
|
double |
minAltitudeAt(IVec azimuthDir,
ISun.DateRange dates)
min altitude angle in the specified azimuth through the year
|
double[] |
minAndMaxAltitudeAt(double azimuth,
int year)
max altitude angle in the specified azimuth through the year
|
double[] |
minAndMaxAltitudeAt(double azimuth,
ISun.DateRange dates)
max altitude angle in the specified azimuth through the year
|
double[] |
minAndMaxAltitudeAt(double azimuth,
ISun.DateRange dates,
int sampleNumber)
max altitude angle in the specified azimuth through the year
|
double[] |
minAndMaxAltitudeAt(IVec azimuthDir,
int year)
max altitude angle in the specified azimuth through the year
|
double[] |
minAndMaxAltitudeAt(IVec azimuthDir,
ISun.DateRange dates)
max altitude angle in the specified azimuth through the year
|
static double |
mod(double x,
double mod)
cyclic modulus operation including negative range
|
ISun |
northDir(IVec northDirection)
set north direction on XY plane
|
ISun |
northDirection(IVec northDirection) |
static double[] |
nutate(double julianDate) |
static double[] |
precess(double rightAscension,
double declination,
double equinox1,
double equinox2,
boolean fk4) |
static double[][] |
precessMatrix(double equinox1,
double equinox2,
boolean fk4) |
ISun |
time(int year,
int month,
int day,
double hour)
setting time
|
ISun |
time(int year,
int month,
int day,
double hour,
boolean daylightSavingTime)
setting time
|
ISun |
time(int year,
int month,
int day,
int hour,
double minute)
setting time
|
ISun |
time(int year,
int month,
int day,
int hour,
double minute,
boolean daylightSavingTime)
setting time
|
ISun |
time(int year,
int month,
int day,
int hour,
int minute,
double second)
setting time
|
ISun |
time(int year,
int month,
int day,
int hour,
int minute,
double second,
boolean daylightSavingTime)
setting time
|
public static int bufferSampleNum
public double latitude
public double longitude
public double elevation
public double timeZone
public int year
public int month
public int day
public double hour
public boolean daylightSaving
public IVec dir
public double azimuth
public double altitude
public boolean updateAngle
public IVec northDir
public java.util.ArrayList<ISun.SearchBuffer> buffers
public static boolean precessionCorrection
public static boolean nutationCorrection
public static boolean aberrationCorrection
public static boolean refractionCorrection
public static boolean measureAzimuthFromSouth
public ISun()
public ISun(double latitude, double longitude, double elevation, double timeZone, IVec northDir, int year, int month, int day, double hour, boolean daylightSavingTime)
public ISun(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
public ISun(double latitude, double longitude, double elevation, double timeZone, IVec northDir)
public ISun(double latitude, double longitude, double elevation, double timeZone)
public ISun(double latitude, double longitude, double timeZone, IVec northDir)
public ISun(double latitude, double longitude, double timeZone)
public ISun(ISun.City city)
public ISun(ISun.Location location, IVec northDir)
public ISun(ISun.Location location)
public ISun time(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
public ISun time(int year, int month, int day, int hour, int minute, double second)
public ISun time(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
public ISun time(int year, int month, int day, int hour, double minute)
public ISun time(int year, int month, int day, double hour, boolean daylightSavingTime)
public ISun time(int year, int month, int day, double hour)
public ISun location(double latitude, double longitude, double elevation, double timeZone, IVec northDir)
public ISun location(double latitude, double longitude, double elevation, double timeZone)
public ISun location(double latitude, double longitude, double timeZone, IVec northDir)
public ISun location(double latitude, double longitude, double timeZone)
public ISun location(ISun.Location location, IVec northDir)
public ISun location(ISun.Location location)
public IVec direction(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
public IVec direction(int year, int month, int day, int hour, int minute, double second)
public IVec direction(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
public IVec direction(int year, int month, int day, int hour, double minute)
public IVec direction(int year, int month, int day, double hour, boolean daylightSavingTime)
public IVec direction(int year, int month, int day, double hour)
public IVec direction()
public IVec dir(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
public IVec dir(int year, int month, int day, int hour, int minute, double second)
public IVec dir(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
public IVec dir(int year, int month, int day, int hour, double minute)
public IVec dir(int year, int month, int day, double hour, boolean daylightSavingTime)
public IVec dir(int year, int month, int day, double hour)
public IVec dir()
public double azimuth(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
public double azimuth(int year, int month, int day, int hour, int minute, double second)
public double azimuth(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
public double azimuth(int year, int month, int day, int hour, double minute)
public double azimuth(int year, int month, int day, double hour, boolean daylightSavingTime)
public double azimuth(int year, int month, int day, double hour)
public double azimuth()
public double altitude(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
public double altitude(int year, int month, int day, int hour, int minute, double second)
public double altitude(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
public double altitude(int year, int month, int day, int hour, double minute)
public double altitude(int year, int month, int day, double hour, boolean daylightSavingTime)
public double altitude(int year, int month, int day, double hour)
public double altitude()
public double[] angles(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
public double[] angles(int year, int month, int day, int hour, int minute, double second)
public double[] angles(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
public double[] angles(int year, int month, int day, int hour, double minute)
public double[] angles(int year, int month, int day, double hour, boolean daylightSavingTime)
public double[] angles(int year, int month, int day, double hour)
public double[] angles()
public ISun calc()
public double hourAt(IVec azimuthDir, int year, int month, int day, boolean daylightSavingTime)
public double hourAt(double azimuth, int year, int month, int day, boolean daylightSavingTime)
public double hourAt(double azimuth, int year, int month, int day, boolean daylightSavingTime, int sampleNumber)
public double altitudeAt(IVec azimuthDir, int year, int month, int day)
public double altitudeAt(double azimuth, int year, int month, int day)
public double altitudeAt(double azimuth, int year, int month, int day, int sampleNumber)
public IVec directionAt(IVec azimuthDir, int year, int month, int day)
public IVec directionAt(double azimuth, int year, int month, int day)
public IVec directionAt(double azimuth, int year, int month, int day, int sampleNumber)
public IVec dirAt(IVec azimuthDir, int year, int month, int day)
public IVec dirAt(double azimuth, int year, int month, int day)
public IVec dirAt(double azimuth, int year, int month, int day, int sampleNumber)
public double minAltitudeAt(IVec azimuthDir, int year)
public double minAltitudeAt(double azimuth, int year)
public double minAltitudeAt(IVec azimuthDir, ISun.DateRange dates)
public double minAltitudeAt(double azimuth, ISun.DateRange dates)
public double minAltitudeAt(double azimuth, ISun.DateRange dates, int sampleNumber)
public double maxAltitudeAt(IVec azimuthDir, int year)
public double maxAltitudeAt(double azimuth, int year)
public double maxAltitudeAt(IVec azimuthDir, ISun.DateRange dates)
public double maxAltitudeAt(double azimuth, ISun.DateRange dates)
public double maxAltitudeAt(double azimuth, ISun.DateRange dates, int sampleNumber)
public double[] minAndMaxAltitudeAt(IVec azimuthDir, int year)
public double[] minAndMaxAltitudeAt(double azimuth, int year)
public double[] minAndMaxAltitudeAt(IVec azimuthDir, ISun.DateRange dates)
public double[] minAndMaxAltitudeAt(double azimuth, ISun.DateRange dates)
public double[] minAndMaxAltitudeAt(double azimuth, ISun.DateRange dates, int sampleNumber)
public IVec lowestDirAt(IVec azimuthDir, int year)
public IVec lowestDirAt(double azimuth, int year)
public IVec lowestDirAt(IVec azimuthDir, ISun.DateRange dates)
public IVec lowestDirAt(double azimuth, ISun.DateRange dates)
public IVec lowestDirAt(double azimuth, ISun.DateRange dates, int sampleNumber)
public IVec highestDirAt(IVec azimuthDir, int year)
public IVec highestDirAt(double azimuth, int year)
public IVec highestDirAt(IVec azimuthDir, ISun.DateRange dates)
public IVec highestDirAt(double azimuth, ISun.DateRange dates)
public IVec highestDirAt(double azimuth, ISun.DateRange dates, int sampleNumber)
public IVec[] lowestAndHighestDirAt(IVec azimuthDir, int year)
public IVec[] lowestAndHighestDirAt(double azimuth, int year)
public IVec[] lowestAndHighestDirAt(IVec azimuthDir, ISun.DateRange dates)
public IVec[] lowestAndHighestDirAt(double azimuth, ISun.DateRange dates)
public IVec[] lowestAndHighestDirAt(double azimuth, ISun.DateRange dates, int sampleNumber)
public static double azimuth(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
public static double altitude(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
public static double azimuth(IVec azimuthDir, IVec northDirection)
public static IVec dir(double latitude, double longitude, double elevation, double timeZone, IVec northDir, int year, int month, int day, double hour, boolean daylightSavingTime)
public static IVec direction(double latitude, double longitude, double elevation, double timeZone, IVec northDir, int year, int month, int day, double hour, boolean daylightSavingTime)
public static IVec direction(double altitude, double azimuth, IVec northDir)
public static double[] angles(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
public static double[] calcAngle(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
public static double[] calcEquatorialCoordinates(double julianDate)
public static double[] calcHorizontalCoordinates(double rightAscension, double declination, double julianDate, double latitude, double longitude, double elevation, double eclipticLongitude)
public static double corefract(double altitudeAngle, double elevation)
public static double corefractForward(double altitudeAngle, double pressure, double temperature)
public static double localSiderealTime(double lng, double jd)
public static double[] coaberration(double julianDate, double rightAscension, double declination, double eps, double eclipticLongitude)
public static double[] nutate(double julianDate)
public static double julianDate(int year, int month, int day, double hour)
hour
- and fraction of hour (including min, sec, ...public static double[] conutate(double julianDate, double rightAscension, double declination)
public static double[] precess(double rightAscension, double declination, double equinox1, double equinox2, boolean fk4)
public static double[][] precessMatrix(double equinox1, double equinox2, boolean fk4)
public static java.lang.String degStr(double deg)
public static java.lang.String hourStr(double deg)
public static java.lang.String adstring(double ra)
public static double mod(double x, double mod)
public static void main(java.lang.String[] args)
public static boolean isLeapYear(int year)
public static int endDayOfMonth(int year, int month)