您好! 我最近去了LACMA艺术博物馆,偶然发现了clock。基本上它使用光传感器来确定已经过去的那一天的百分比。这意味着日出将是0.00%,日落将是100%。我想创建一个更简单的版本,将Google的程序设置为当天的日落和日出时间,然后从那里开始工作。最终这将全部转移到Raspberry Pi 3(另一天的另一个问题),因此代码必须是Python。我可以帮忙写一些吗?
我需要一个Python程序,谷歌搜索并返回当天日落和日出的时间。心灵帮助?
答案 0 :(得分:0)
它不漂亮,但应该可以使用,只需使用坐标作为参数。
从他们的网站"注意:所有时间都是UTC,夏令时调整不包括在返回的数据中。"
import requests
from datetime import datetime
from datetime import timedelta
def get_sunrise_sunset(lat, long):
link = "http://api.sunrise-sunset.org/json?lat=%f&lng=%f&formatted=0" % (lat, long)
f = requests.get(link)
data = f.text
sunrise = data[34:42]
sunset = data[71:79]
print("Sunrise = %s, Sunset = %s" % (sunrise, sunset))
s1 = sunrise
s2 = sunset
FMT = '%H:%M:%S'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
daylight = timedelta(days=0,seconds=tdelta.seconds, microseconds=tdelta.microseconds)
print('Total daylight = %s' % daylight)
t1 = datetime.strptime(str(daylight), '%H:%M:%S')
t2 = datetime(1900, 1, 1)
daylight_as_minutes = (t1 - t2).total_seconds() / 60.0
print('Daylight in minutes = %s' % daylight_as_minutes)
sr1 = datetime.strptime(str(sunrise), '%H:%M:%S')
sr2 = datetime(1900, 1, 1)
sunrise_as_minutes = (sr1 - sr2).total_seconds() / 60.0
print('Sunrise in minutes = %s' % sunrise_as_minutes)
ss1 = datetime.strptime(str(sunset), '%H:%M:%S')
ss2 = datetime(1900, 1, 1)
sunset_as_minutes = (ss1 - ss2).total_seconds() / 60.0
print('Sunset in minutes = %s' % sunset_as_minutes)
if __name__ == '__main__':
get_sunrise_sunset(42.9633599,-86.6680863)