昨晚发生月食。
Best the camera can do.Best the camera can do.Best the camera can do.Best the camera can do.相机能做到的最好的。

Midnight. The color is pretty accurate. Not enough light for the camera to focus.Midnight. The color is pretty accurate. Not enough light for the camera to focus.Midnight. The color is pretty accurate. Not enough light for the camera to focus.Midnight. The color is pretty accurate. Not enough light for the camera to focus.午夜。 颜色相当准确。 光线不足,相机无法对焦。
8 sec exposure8 sec exposure8 sec exposure8 sec exposure8秒曝光
从 JMP 调用 Python 代码进行月相计算。
// python -m pip install pylunar
Python Init(); // one-time startup...
// 0: startup
xrc = Python Execute( {},
{rc},
"\[
try:
import pylunar,datetime
def timeFromRST(rst):
# print(rst,isinstance(rst,str))
if isinstance(rst,str):
rst = (1,1,1,1,1,1)
return datetime.datetime(*rst)
rc = "ok"
except Exception as e:
rc = repr(e)
]\"
);
If( xrc != 0 | rc != "ok", Throw( "start up pylunar failed" || Try( ": " || Char( rc ), "" ) ) );
xrc = Python Execute( {},
{rc,line1,line2,line3},
"\[
try:
localnow = datetime.datetime.now()
mi = pylunar.MoonInfo((35, 45, 0), (-78, 40, 0)) # about my location degrees/minutes/seconds
utc = datetime.datetime.utcnow()
mi.update(utc) # find the answer for right now
todayRST = mi.rise_set_times('America/New_York')
mi.update(utc + datetime.timedelta(days=1)) # find the answer 24 hours from now
tomorrowRST = mi.rise_set_times('America/New_York')
mi.update(utc) # put it back, not finished with today yet
moonTransit=-1
moonSet=-1
moonRise=-1
for earlyRST in todayRST:
if earlyRST[0]=="transit":
moonTransit = timeFromRST(earlyRST[1])
elif earlyRST[0]=="rise":
moonRise = timeFromRST(earlyRST[1])
elif earlyRST[0]=="set":
moonSet = timeFromRST(earlyRST[1])
else:
print("BUMMER 1*********************")
stop()
for lateRST in tomorrowRST:
if lateRST[0]=="transit":
if moonTransit < localnow:
moonTransit = timeFromRST(lateRST[1])
elif lateRST[0]=="rise":
if moonRise < localnow:
moonRise = timeFromRST(lateRST[1])
elif lateRST[0]=="set":
if moonSet < localnow:
moonSet = timeFromRST(lateRST[1])
else:
print("BUMMER 2*********************")
stop()
if moonRise.day==localnow.day:
riseday="later today"
else:
riseday="tomorrow"
if moonSet.day==localnow.day:
setday="later today"
else:
setday="tomorrow"
if moonRise < moonSet :
line1="The Moon rises "+riseday+" at "+moonRise.strftime("%I:%M %p")+" and"
line2="sets "+setday+" at "+moonSet.strftime("%I:%M %p")
else:
line1="The Moon sets "+setday+" at "+moonSet.strftime("%I:%M %p")+" and"
line2="rises "+riseday+" at "+moonRise.strftime("%I:%M %p")
line3=mi.phase_name().replace("_"," ").title()
rc = "ok"
except Exception as e:
rc = repr(e)
]\"
);
show(rc,line1,line2,line3);
该代码是从另一个需要月相文本描述的项目中删除的:
line1 = "月亮在今天上午 06:21 落下并且";
line2 = "今天晚些时候 09:13 PM 升起";
line3 = "满月";
如果您使用它,请仔细测试...该项目从未完成。 我工作到很晚了……看来月亮快落山了。
手机就更差了。
Scattered clouds at the start of the eclipse. It is already dark.Scattered clouds at the start of the eclipse. It is already dark.Scattered clouds at the start of the eclipse. It is already dark.Scattered clouds at the start of the eclipse. It is already dark.日食开始时云层分散。 天已经黑了。