https://grimsteel.github.io/sunrise-sunset-calendar/
Generate an iCal file for sunrise and sunset times for a given location
This file can then be imported into Google Calendar or other calendar applications.
I used NOAA's Solar Calculator for the algorithm for calculating the sunrise/sunset times based on the latitude, longitude, and timezone of the location.
Resources:
I don't understand the math behind it, (it seems like magic!) but it seems to work pretty well!