2017-12-01 3 views
0

の日付と時刻の文字列を翻訳:のpython3は、私はこの文字列を変換するための良い方法を見つけようとしたエレガントな方法

「+ 000 20171127124906.359599」を - 日付/時刻に。

私は現在、文字列をさまざまな要素に切り詰めることでこれを達成しようとしていましたが、コードが少し醜いように見え始めました。

私の目標は、マシンのUpTimeを計算するために最もPythonまたはエレガントな方法を見つけることです。

この文字列は、WMI、Win32_OperatingSystemクラスから取得します。マシンのUpTimeを計算するために使用したい値は2つあります。

LastBootUpTime = '20171127124906.359599+000' 
LocalDateTime = '20171201151404.691000+000' 

お勧めはありますか?

+0

はそれがから来ていると仮定していますPowershellは、PowerShellの組み込み機能を使用して、Pythonにインポートできる日付のタイムスタンプに変換します。 http://www.itprotoday.com/management-mobility/converting-those-weird-wmi-dates-and-times – Jason

答えて

1

通常のUTCオフセットは、通常、4桁の数字+HHMMです。あなたはそれにあなたのタイムスタンプを変換できる場合は、そのフォーマット文字列を変更したい場合は、あなたが

form datetime import datetime 

t = '20171127124906.359599+000' 
# I think that your inputs are of the form HHM (So 11:30 would be 113). 
# This rounds that out by adding a zero at the end 
t = t + '0' 

datetime.strptime(t, '%Y%m%d%H%M%S.%f%z') 

は私たちに

datetime.datetime(2017, 11, 27, 12, 49, 6, 359599, tzinfo=datetime.timezone.utc) 

を与えて使用することができ、そのためのドキュメントはhere

関連する問題