用户输入的标准时间转换为儒略时间
User input of standard time converted into Julian Time
我被困在如何将用户输入的年、月、日和小时转换为儒略时间。
如果我在这样的时间编码,这会起作用:
from __future__ import print_function, division
from PyAstronomy import pyasl
import datetime
# Convert calendar date to JD
dt = datetime.datetime(2017, 5, 23, 10)
print("Input date: ", dt)
print("Corresponding Julian date: ", pyasl.jdcnv(dt))
print("Corresponding reduced Julian date: ", pyasl.juldate(dt))
print()
但是当我尝试这样的用户输入时
from __future__ import print_function, division
from PyAstronomy import pyasl
import datetime
# Convert calendar date to JD
year = int(input('Enter a year'))
month = int(input('Enter a month'))
day = int(input('Enter a day'))
hour = int(input('Enter hour'))
dt = datetime.date(year, month, day, hour)
print("Input date: ", dt)
print("Corresponding Julian date: ", pyasl.jdcnv(dt))
print("Corresponding reduced Julian date: ", pyasl.juldate(dt))
print()
我收到错误
TypeError Traceback (most recent call
last)
<ipython-input-4-2b1701814572> in <module>()
11 day = int(input('Enter a day'))
12 hour = int(input('Enter hour'))
---> 13 dt = datetime.date(year, month, day, hour)
14 print("Input date: ", dt)
15 print("Corresponding Julian date: ", pyasl.jdcnv(dt))
类型错误:函数最多接受 3 个参数(给定 4 个)
你在第二个例子中写错了代码:
dt = datetime.date(year, month, day, hour)
正确的是:
dt = datetime.datetime(year, month, day, hour)
我被困在如何将用户输入的年、月、日和小时转换为儒略时间。
如果我在这样的时间编码,这会起作用:
from __future__ import print_function, division
from PyAstronomy import pyasl
import datetime
# Convert calendar date to JD
dt = datetime.datetime(2017, 5, 23, 10)
print("Input date: ", dt)
print("Corresponding Julian date: ", pyasl.jdcnv(dt))
print("Corresponding reduced Julian date: ", pyasl.juldate(dt))
print()
但是当我尝试这样的用户输入时
from __future__ import print_function, division
from PyAstronomy import pyasl
import datetime
# Convert calendar date to JD
year = int(input('Enter a year'))
month = int(input('Enter a month'))
day = int(input('Enter a day'))
hour = int(input('Enter hour'))
dt = datetime.date(year, month, day, hour)
print("Input date: ", dt)
print("Corresponding Julian date: ", pyasl.jdcnv(dt))
print("Corresponding reduced Julian date: ", pyasl.juldate(dt))
print()
我收到错误
TypeError Traceback (most recent call
last)
<ipython-input-4-2b1701814572> in <module>()
11 day = int(input('Enter a day'))
12 hour = int(input('Enter hour'))
---> 13 dt = datetime.date(year, month, day, hour)
14 print("Input date: ", dt)
15 print("Corresponding Julian date: ", pyasl.jdcnv(dt))
类型错误:函数最多接受 3 个参数(给定 4 个)
你在第二个例子中写错了代码:
dt = datetime.date(year, month, day, hour)
正确的是:
dt = datetime.datetime(year, month, day, hour)