2017-11-13 19 views
0

私はPythonには新しく、Redditボットを設定してcrontabで自動化しようとしています。私はPythonを実行すると問題なく動作しますが、crontabでは上記のようになります: "TypeError astimezone()引数1はdatetime.tzinfoでなければなりません"。私はこれをどのように修正するのか分かりませんし、オンラインで多くの問題を見つけることができませんでした。TypeError astimezone()引数1はdatetime.tzinfoである必要があります

これは私がastimezoneを持っているところです。

def timeStringToPacific(s): 
    from_zone = tz.gettz('America/New_York') 
    to_zone = tz.gettz('America/San_Francisco') 
    time = datetime.strptime(s[:-3], '%I:%M %p') 
    newyork = time.replace(tzinfo=from_zone) 
    pacific = newyork.astimezone(to_zone) 
    formatted = datetime.strftime(pacific, '%I:%M %p') 
    if formatted[0] == '0': 
     formatted = formatted[1:] 
    return formatted 

この問題を解決する方法はありますか。ありがとう!

答えて

0

文字列"America/San_Francisco"は有効なタイムゾーンではないため、取得しようとすると(tz.gettz("America/San_Francisco"))、Noneと評価されます。これにより、方法astimezoneがタイプdatetime.tzinfo(ただし、代わりにNoneType)の引数を必要としていたため、TypeErrorが発生します。

wikipediaでタイムゾーンの完全なリストを取得できます。

+0

これはまさに私が必要としていたものです。 – perksofthesewalls

関連する問題