sql >> データベース >  >> RDS >> Mysql

PythonDateTime文字列の整数ミリ秒への変換

    [コメントの次の提案を編集]

    BenAlpertの を使用する Pythonで日時オブジェクトをエポック(UNIX時間)からのミリ秒に変換するにはどうすればよいですか 次のことができます:

    from datetime import datetime
    def unix_time(dt):
        epoch = datetime.utcfromtimestamp(0)
        delta = dt - epoch
        return delta.total_seconds()
    
    def unix_time_millis(dt):
        return int(unix_time(dt) * 1000)
    
    a = datetime.strptime("2015-06-27T02:10:05.653000Z", "%Y-%m-%dT%H:%M:%S.%fZ")
    unix_time_millis(a)
    

    戻り値:

    1435371005653
    

    これは、2015年6月27日土曜日02:10:05GMTに相当します。 (予想通り)

    日時の.strftime('%s')を使用することもできます 次を使用してUNIX時間を取得するには、ミリ秒も使用します(ただし、これはお勧めしません ):

    from decimal import Decimal
    
    int(Decimal(datetime.strptime("2015-06-27T02:10:05.653000Z", "%Y-%m-%dT%H:%M:%S.%fZ").strftime('%s.%f'))*1000)
    

    戻り値:

    1435396205653
    

    同等:2015年6月27日土曜日09:10:05GMT (サンディエゴの私のマックで; :これは私たちが期待していたものから7時間オフです。

    エラーの原因は、上記のリンクのコメントとこれ> .strftime('%s')に関する回答 行動。 J.F.セバスティアンは、「サポートされていない、移植性がない、認識されている日時オブジェクトに対して誤った結果をサイレントに生成する可能性がある、入力がUTC(質問のように)であるがローカルタイムゾーンがUTCでない場合は失敗する」と指摘しています



    1. OPENROWSETエラーを使用してAccess2007データをクエリするSQLServer2012

    2. SQLite Listview onclickは、dbをフィルターして開き、新しいアクティビティを生成します

    3. php artisan mergethrowing[PDO例外]ドライバーが見つかりませんでした-Laravelを使用しています

    4. 主キーの一部(またはクラスター化インデックスの一部)としてタイムスタンプ(または日時)を使用する