Mysql
 sql >> база данни >  >> RDS >> Mysql

Преобразуване на Python DateTime низ в цели милисекунди

[Редактирано след предложението в коментарите]

Използване на Ben Alpert's отговор на Как мога да конвертирам обект datetime в милисекунди от епохата (unix време) в Python можем да направим следното:

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

което е еквивалентно на:събота, 27 юни 2015 г. 02:10:05 GMT (както се очаква)

Можем също да използваме .strftime('%s') на datetime за да получите 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

еквивалентно на:събота, 27 юни 2015 г. 09:10:05 GMT (на моя Mac в Сан Диего; Забележка :това е 7 часа почивка от това, което може би очаквахме).

Причината за грешката е описана от J.F. Sebastian в коментарите на връзката по-горе и в това отговор относно .strftime('%s') поведение. J.F. Sebastian посочва, че „не се поддържа, не е преносим, ​​може тихо да произведе грешен резултат за обект на дата и час, не успява, ако въвеждането е в UTC (както във въпроса), но местната часова зона не е UTC“



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да сортирам id и sub_id в низходящ ред?

  2. Намерете най-добрия съвпадащ ред в MySQL (InnoDB)

  3. Rails при инсталиране на mysql - Грешка при инсталиране на mysql2:ГРЕШКА:Неуспешно изграждане на собствено разширение на gem

  4. MySQLi count(*) винаги връща 1

  5. Как да приложим система за вложени коментари?