PyEphem:将观察者时间设置为当前UTC午夜当地时间的最佳方式

时间:2018-03-13 07:14:13

标签: pyephem

我努力寻找一种优雅的方式将ephem观察者的时间设置为当地时间午夜。这是从当地时间午夜转换为ephem的UTC。

ephem使用next_rising来查找下一个日出时间。问题是如果当地时间已经过了日出,如果给你明天的日出。

我想将观察者时间设置为当地时间午夜,因此next_rising,next_setting和next_transit是当天的。

使用python datetime东西绕圈子。

import ephem

home = ephem.Observer()
home.date = ephem.now()
home.lat = str(-37.8136)
home.lon = str(144.9631)

sunrise = home.next_rising( ephem.Sun() )

print home.date
# 2018/3/13 05:54:04

print ephem.localtime( home.date )
# 2018-03-13 16:54:03.000001 - current date is 13th March

print sunrise
# 2018/3/13 20:16:38 - sunrise in UTC

print ephem.localtime( sunrise )
# 2018-03-14 07:16:37.000002 -  next date sunrise 14th March

1 个答案:

答案 0 :(得分:1)

使用这篇文章conditional types

以下作品

const zopNumber = zop(1); // 1 -> number
const zopString = zop('a'); // 'a' -> string
const zopNumberOrString = zop(
  Math.random()<0.5 ? 1 : 'a'); // 1 | 'a' -> string | number