Wie kann der Shabbat Sunset -Algorithmus für einen Freitag in Java codiert?Java

Java-Forum
Anonymous
 Wie kann der Shabbat Sunset -Algorithmus für einen Freitag in Java codiert?

Post by Anonymous »

Wie kann der Shabbat -Sonnenuntergangsalgorithmus für einen Freitag in Java codiert? Erläuterung von dieser Seite:
https://en.wikipedia.org/wiki/sunrise_e ... n_on_earth
Dies ist mein Code bisher mein Code.
public enum City
{
BERLIN("Berlin", "Germany", 52.52, 13.405, "Europe/Berlin", 34.0);

private String cityname;
private String countryname;
public double latitude;
public double longitude;
public String zoneId;
public double elevationInMeters;

City(String cityname, String countryname, double latitude, double longitude,
String zoneId, double elevationInMeters)
{
this.cityname = cityname;
this.countryname = countryname;
this.latitude = latitude;
this.longitude = longitude;
this.zoneId = zoneId;
this.elevationInMeters = elevationInMeters;
}

public String getInfo()
{
StringJoiner info = new StringJoiner(" ");
info.add(countryname);
info.add(cityname);
info.add(String.valueOf(latitude));
info.add(String.valueOf(longitude));
info.add(String.valueOf(zoneId));
return info.toString();
}
}
< /code>
und < /p>
package sunny;

import java.time.Duration;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class Test
{
public static void main(String[] args)
{
City cityAsked = City.BERLIN;
LocalDateTime dayAsked = LocalDateTime.of(2025, 7, 25, 0, 0);

LocalDateTime start = LocalDateTime.of(2000, 1, 1, 12, 0);
double n = Duration.between(start, dayAsked).toDays(); // Julian day duration

double jStar = n - (cityAsked.longitude / 360.0); // mean solar time

double M = (357.5291 + 0.98560028 * jStar) % 360; // solar mean anomaly

double C = 1.9148 * Math.sin(M) + 0.0200 * Math.sin(2.0 * M)
+ 0.0003 * Math.sin(3.0 * M);// equation of the center

double lambda = (M + C + 180 + 102.9372) % 360;// ecliptic longitude

double jTransit = 2451545.0 + jStar + 0.0053 * Math.sin(M)
+ 0.0069 * Math.sin(2.0 * lambda); // solar transit = solar noon

double sinDelta = Math.sin(lambda) * Math.sin(23.4397); // declination of
// the sun

double cosOmegaNull = Math.sin(0.833+(-2.076*Math.sqrt(cityAsked.elevationInMeters)/60))
- Math.sin(cityAsked.latitude) * sinDelta; // hour angle

double omegaNull = Math.cos(cosOmegaNull);

double jSunset = jTransit + omegaNull / 360.0; // sunset in Julian days

double daysSunset = (long) jSunset;
double daysFraction = jSunset - daysSunset;

LocalDateTime result = dayAsked.plusMinutes((long) (daysFraction * 24.0 * 60.0));
ZonedDateTime adjustedResult = result.atZone(ZoneId.of("Europe/Berlin"));
LocalDateTime jewishSundown = LocalDateTime.from(result)
.minusMinutes((long) (adjustedResult.getOffset().getTotalSeconds() / 60.0)).minusMinutes(18L);

System.out.println(n);
System.out.println(jSunset);
System.out.println(daysSunset);
System.out.println(daysFraction);
System.out.println(result);
System.out.println(adjustedResult);
System.out.println(jewishSundown);
}
}
< /code>
Der Code führt zu geringfügigem Zeitpunkt, was natürlich nicht ausreicht.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post