sunrise-sunset

Provides methods to determine the sunrise, sunset, civil twilight,nautical twilight, and astronomical twilight times of a given location, or if it is currently day or night at a given location.

Лицензия

Лицензия

Группа

Группа

ca.rmen
Идентификатор

Идентификатор

lib-sunrise-sunset
Последняя версия

Последняя версия

1.1.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

sunrise-sunset
Provides methods to determine the sunrise, sunset, civil twilight,nautical twilight, and astronomical twilight times of a given location, or if it is currently day or night at a given location.
Ссылка на сайт

Ссылка на сайт

http://github.com/caarmen/SunriseSunset
Система контроля версий

Система контроля версий

https://github.com/caarmen/SunriseSunset.git

Скачать lib-sunrise-sunset

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/ca.rmen/lib-sunrise-sunset/ -->
<dependency>
    <groupId>ca.rmen</groupId>
    <artifactId>lib-sunrise-sunset</artifactId>
    <version>1.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/ca.rmen/lib-sunrise-sunset/
implementation 'ca.rmen:lib-sunrise-sunset:1.1.1'
// https://jarcasting.com/artifacts/ca.rmen/lib-sunrise-sunset/
implementation ("ca.rmen:lib-sunrise-sunset:1.1.1")
'ca.rmen:lib-sunrise-sunset:jar:1.1.1'
<dependency org="ca.rmen" name="lib-sunrise-sunset" rev="1.1.1">
  <artifact name="lib-sunrise-sunset" type="jar" />
</dependency>
@Grapes(
@Grab(group='ca.rmen', module='lib-sunrise-sunset', version='1.1.1')
)
libraryDependencies += "ca.rmen" % "lib-sunrise-sunset" % "1.1.1"
[ca.rmen/lib-sunrise-sunset "1.1.1"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

SunriseSunset

Java utility which provides methods to determine the sunrise, sunset, civil twilight, nautical twilight, and astronomical twilight times of a given location.

Also provides methods:

  • to convert between Gregorian and Julian dates.
  • to know if it is currently day or night at a given location.

The formulas used by this class are from the Wikipedia articles on [Julian Day] (http://en.wikipedia.org/wiki/Julian_day) and [Sunrise Equation] (http://en.wikipedia.org/wiki/Sunrise_equation).

Adding the dependency

Gradle:

Add this repository:

maven { url "https://dl.bintray.com/caarmen/maven/" }

Declare the dependency:

compile 'ca.rmen:lib-sunrise-sunset:1.1.1'

Maven:

Add this repository:

<repository>
 <id>caarmen-repo</id>
 <url>https://dl.bintray.com/caarmen/maven/</url>
</repository>

Declare the dependency:

<dependency>
 <groupId>ca.rmen</groupId>
 <artifactId>lib-sunrise-sunset</artifactId>
 <version>1.1.1</version>
 <scope>compile</scope>
</dependency>

Any other build system:

Alternatively, you can just copy the single java file into your project: library/src/main/java/ca/rmen/sunrisesunset/SunriseSunset.java

Using the library

To get the sunrise and sunset times for today in Paris, France:

Calendar[] sunriseSunset = ca.rmen.sunrisesunset.SunriseSunset.getSunriseSunset(Calendar.getInstance(), 48.85837, 2.294481);
System.out.println("Sunrise at: " + sunriseSunset[0].getTime());
System.out.println("Sunset at: " + sunriseSunset[1].getTime());

The civil, nautical, and astronomical twilight times are retrieved in the same way:

Calendar[] civilTwilight = ca.rmen.sunrisesunset.SunriseSunset.getCivilTwilight(Calendar.getInstance(), 48.85837, 2.294481);
System.out.println("Civil twilight stops at: " + civilTwilight[0].getTime());
System.out.println("Civil twilight starts at: " + civilTwilight[1].getTime());

Calendar[] nauticalTwilight = ca.rmen.sunrisesunset.SunriseSunset.getNauticalTwilight(Calendar.getInstance(), 48.85837, 2.294481);
System.out.println("Nautical twilight stops at: " + nauticalTwilight[0].getTime());
System.out.println("Nautical twilight starts at: " + nauticalTwilight[1].getTime());

Calendar[] astronomicalTwilight = ca.rmen.sunrisesunset.SunriseSunset.getAstronomicalTwilight(Calendar.getInstance(), 48.85837, 2.294481);
System.out.println("Astronomical twilight stops at: " + astronomicalTwilight[0].getTime());
System.out.println("Astronomical twilight starts at: " + astronomicalTwilight[1].getTime());

Command-line interface

A command-line tool is provided. You can download it from the releases page or build it with mvn clean package, which will place it in cli/target.

Usage:

java -jar /path/to/sunrise-sunset-cli-1.1.1.jar <timezone> <yyyyMMdd> <latitude> <longitude>

Example usage:

java -jar /path/to/sunrise-sunset-cli-1.1.1.jar Europe/Paris 20171125 48.8 2.35
Current time at: 48.8,2.35:
  2017-11-25 18:01:42 Central European Time
Current day period is NAUTICAL_TWILIGHT
Day is 31588000 milliseconds long
Lookup for date:
  2017-11-25 12:00:00 Central European Time
Sunrise, Sunset:
  2017-11-25 08:15:53 Central European Time
  2017-11-25 17:02:21 Central European Time
Civil twilight:
  2017-11-25 07:40:16 Central European Time
  2017-11-25 17:37:58 Central European Time
Nautical twilight:
  2017-11-25 07:01:06 Central European Time
  2017-11-25 18:17:08 Central European Time
Astronomical twilight:
  2017-11-25 06:23:26 Central European Time
  2017-11-25 18:54:48 Central European Time
Solar noon:
  2017-11-25 12:39:07 Central European Time

Documentation

Javadoc is here: http://caarmen.github.io/SunriseSunset/ca/rmen/sunrisesunset/SunriseSunset.html

Версии библиотеки

Версия
1.1.1