2017-10-11 153 views
0

我一直在如何獲得用戶輸入的年,月,日和小時轉換爲朱利安時間。用戶輸入的標準時間轉換成朱利安時間

這工作,如果在這樣的時候,我的代碼:

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

+0

檢查datetime.date需要一個小時。通常情況下,日期不會下降到一小時(這將是一個日期時間)。 – combinatorist

回答

1

你寫一行代碼錯誤在你的第二個例子:

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

正確的是:

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

謝謝,我覺得真的很愚蠢,因爲沒有抓住那個!再次感謝你 – Walter

相關問題