Astral自带的样例没法直接用,搜索一圈下来只在stackoverflow上找到一个。根据Astral说明,Python官方文档和刚才提到的实例,以下是新版程序。本程序可判断系统时间和日出日落时间的关系,结合Raspberry Pi的GPIO库应该能做点有用的东西。
程序参数修改的说明
城市名:这三个字替换成单一城市英文名,有4处需要替换;
纬度:所需单一城市的纬度,请自行百度/必应;
经度:所需单一城市的经度。
另注:运行本程序前请自行安装python3,pip,astral。
import datetime
import astral
location_城市名 = astral.Location(('城市名', 'China', 纬度, 经度, 'Asia/Shanghai', 0))
time_sunrise=location_城市名.sunrise(date=datetime.date.today(),local=True)
time_sunrise_update=time_sunrise + datetime.timedelta(hours=0) #提前/延后日出时间量
time_sunrise_new=str(time_sunrise_update)
print(time_sunrise_new)
time_sunset=location_城市名.sunset(date=datetime.date.today(),local=True)
time_sunset_update=time_sunset + datetime.timedelta(hours=0) #提前/延后日落时间量
time_sunset_new=str(time_sunset_update)
print(time_sunset_new)
time_current=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S+08:00")
print(time_current)
if (time_sunrise_new<=time_current<=time_sunset_new):
print('low')
else:
print('High')
本实例在Python3.7下测试通过。
Astral库说明文件:https://pypi.org/project/astral/
datetime官方说明:https://docs.python.org/3/library/datetime.html?highlight=date#