2017-10-11 7 views
0

ユリウス時間に変換された年、月、日、時のユーザ入力を取得する方法について固まっています。ユリウス時間に変換された標準時間のユーザ入力

これが動作する場合、このような時間のIコード:

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

TypeError例外を取得:関数は最大3つの引数をとります(4が与えられます)

+0

チェック。通常、日付は時間(それは日時になります)には下がりません。 – combinatorist

答えて

1

あなたはあなたの第二の例では行で間違ったコードを書く:

dt = datetime.date(year, month, day, hour) 

正しいです:datetime.dateは時間がかかること

dt = datetime.datetime(year, month, day, hour) 
+0

ありがとう、私はそれをキャッチしないために本当に愚かな感じ!ありがとうございました – Walter

関連する問題