2017-08-21 10 views
1

私は実際に理解できない何かを与えるPythonコードを少し持っています。ここに私の少しのコードがあります。 bは前日月と英国/米国の形式の文字列、04/19/2017のようなもの、と最初の行であるdateutil.parser.parse.timestampより古い日付に大きな整数を返します

fe=datetime.strptime(b, "%m/%d/%Y").strftime("%d/%m/%Y") 
fecha=dateutil.parser.parse(fe).timestamp() 

10/04/2017のように同じ日付を返し、その後、2行目のコードは、番号を返します。 10 番目の日付が19 番目よりも大きい、なぜ私は理解していない何

は、全く、です。 10日目は1507068000.0、19日目は1492552800.0となります。

何か不足していますか?私はそれがコンバージョンだと思ったので、最近の日付は古いものよりも大きかった。

答えて

1

parseのデフォルトはdayfirst=Falseです。 dayfirst=Trueを設定すると、タイムスタンプが正しく並べ替えられます。

>>> parse('19/04/2017').timestamp() 
1492574400.0 
>>> parse('10/04/2017').timestamp() 
1507089600.0 
>>> parse('19/04/2017', dayfirst=True).timestamp() 
1492574400.0 
>>> parse('10/04/2017', dayfirst=True).timestamp() 
1491796800.0 
関連する問題