(Python)从Google检索日出和日落时间

时间:2016-12-10 04:22:24

标签: python time google-search

您好!     我最近去了LACMA艺术博物馆,偶然发现了clock。基本上它使用光传感器来确定已经过去的那一天的百分比。这意味着日出将是0.00%,日落将是100%。我想创建一个更简单的版本,将Google的程序设置为当天的日落和日出时间,然后从那里开始工作。最终这将全部转移到Raspberry Pi 3(另一天的另一个问题),因此代码必须是Python。我可以帮忙写一些吗?

TLDR版本

我需要一个Python程序,谷歌搜索并返回当天日落和日出的时间。心灵帮助?

1 个答案:

答案 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)