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

mysqldatetimeとpythontimestampの間で変換する適切な方法は何ですか?

    私が正しく理解していない場合はこれを更新して幸せですが、ここに役立つかもしれないいくつかの例があります。これはdatetimeを使用することに注意してください timeの代わりにモジュール 。

    >>> import datetime
    

    ここでは、タイムスタンプtsの例を設定します およびフォーマットf

    >>> ts = '2013-01-12 15:27:43'
    >>> f = '%Y-%m-%d %H:%M:%S'
    

    上記と同様に、strptimeを使用します 関数(datetime.datetimeから )文字列をdatetimeに変換します フォーマットパラメータに基づくオブジェクト:

    >>> datetime.datetime.strptime(ts, f)
    datetime.datetime(2013, 1, 12, 15, 27, 43)
    

    逆に、ここではdatetime.datetime.now()を使用します 現在の時刻をdatetimeとして取得します オブジェクト:

    >>> now = datetime.datetime.now()
    >>> now
    datetime.datetime(2013, 1, 12, 0, 46, 54, 490219)
    

    datetime 場合、strftime メソッドは実際にはdatetimeで呼び出されます オブジェクト自体、引数としてformattingパラメーターを使用:

    >>> now.strftime(f)   
    '2013-01-12 00:46:54'
    

    あなたの状況では、エラーが発生した理由は、time.time()が原因です。 フロートを返します:

    >>> time.time()
    1357980846.290231
    

    ただし、time.strftime timeが必要です タプル、上記と同様です。時間という厄介なスパイラルに入ることなく、time.localtime()などの関数 前述のtimeを返します タプルし、期待どおりに戻ります:

    >>> now = time.localtime()
    >>> now
    time.struct_time(tm_year=2013, tm_mon=1, tm_mday=12, tm_hour=0, tm_min=55, tm_sec=55, tm_wday=5, tm_yday=12, tm_isdst=0)
    >>> f = '%Y-%m-%d %H:%M:%S'
    >>> time.strftime(f, now)
    '2013-01-12 00:55:55'
    


    1. リモートサーバー上のmysqldump

    2. MariaDBでFIELD()がどのように機能するか

    3. SQL結合

    4. T-SQLの空のステートメント