2017-08-25 8 views
-1

特定のdatetimeに相当するナノ秒を取得するPython関数があるのだろうかと思いましたか?私が今やっていることは次のとおりです:Pythonはdatetimeからnanosecondsに変換します

date_dt = my_desired_date 
date_utc = (date_dt - datetime(1970, 1, 1)).total_seconds() 
date_nano = date_utc * 1e+9 

これを行う方法は他にありますか?

おかげ

+0

重複? https://stackoverflow.com/questions/2394485/get-posix-unix-time-in-seconds-and-nanoseconds-in-python –

+0

@RobbieJones私はdatetimeオブジェクトから明示的なpython関数を探していて、フォーマットしていません私が現在手にしている結果 – ahajib

+1

これを見てくださいhttps://stackoverflow.com/a/10612166/5811078 – zipa

答えて

0

まず、私は尋ねてみましょう - あなたはナノ秒にあなたの日時を変換しようとしているか、ナノ秒単位で現在の時刻を取得しようとしていますか?微妙な違いがあります。あなたが示唆したように、datetimeオブジェクトを1e+9で乗算するよりもナノ秒に強制したいのであれば、最高の(そして唯一のpython)ソリューションです。

しかし、現在の時間をナノ秒単位で取得したい場合は、clock_gettime関数にアクセスする必要があります(Linuxの場合)。 Python3.xはこれらの呼び出しをhttps://docs.python.org/3/library/time.html#time.clock_gettimeで利用可能にします。 Python2.xでは、clock_gettimeを問い合わせるためにctypesを使う必要があります。

システムでは、ナノ秒の解像度がサポートされていない可能性があります。この場合、クエリが切り上げられることがあります。システム解像度の問い合わせにはclock_getresを使用してください。

+0

私はdatetimeをナノ秒に変換しようとしていますが、必ずしも現時点ではありません – ahajib

関連する問題