1

この RESTFul whois API をテストしています。

日付が UNIX タイムスタンプ形式の場合は混乱します。しかし、私はそうは思いません。

print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int("1340578800000")))

私にくれた :

 ValueError: timestamp out of range for platform time_t

日付はここで見つけることができます

updated: 1340578800000 

このファイルで:

http://www.restfulwhois.com/example

ウェブサイトにメールやサポートが見つからないため、ここで質問しています。どう思いますか ?

4

4 に答える 4

2

これらはエポックからのミリ秒です:

>>> print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int("1340578800000")/1000))
2012-06-25 03:00:00

ほとんどの場合、 からミリ秒を取得しJavaScript、 によって返されgetTimeます。

また、このトピックで同時に異なる回答が示されているように、タイムゾーンと現地時間の差異に注意してください。gmtimeの代わりにUTC 日付を使用するにはlocaltime:

>>> print time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(int("1340578800000")/1000))
2012-06-24 23:00:00
于 2013-11-13T19:08:20.473 に答える
1

Pythontime.localtimeは、タイムスタンプが秒単位であると想定しています。ミリ秒単位で渡すため、秒単位で取得するには 1000 で割る必要があります。

コードを次のように変更します。

>>> print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int("1340578800000")/1000))
 '2012-06-24 20:00:00'
于 2013-11-13T19:08:40.737 に答える
1

秒単位ではなく、ミリ秒単位です。フォーマットする前に、1000 で割るだけです。

>>> time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int("1340578800000") / 1000))
'2012-06-24 20:00:00'
于 2013-11-13T19:08:45.537 に答える
1

あなたが持っている値は、エポックからのミリ秒time.localtime数であり、秒数を期待しています。

[from gmtime()]: エポックからの秒数を ... に変換します。

復元する文字列はこれら 2 つの間で違いはありませんが、より一般的に適用可能な解決策はミリ秒を維持するために浮動小数点除算を行うことであることに注意してください。

>>> time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int("1340578800000") / 1000))
'2012-06-24 18:00:00'
>>> time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int("1340578800000") / 1000.))
'2012-06-24 18:00:00'
于 2013-11-13T19:17:23.487 に答える