浮点值代表毫秒级的日期和时间:
import datetime float_time = 1485538757.29289 print datetime.datetime.fromtimestamp(float_time)
印刷:
2017-01-27 09:39:17.292890
要将其存储在db中:
from sqlalchemy import Column, DateTime from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class MyTable(Base): __tablename__ = 'mytable' time_created = Column(DateTime, nullable=False)
但是,保存的值会四舍五入到2017-01-27 09:39:17(从2017-01-27 09:39:17.292890)。有解决方案吗?
2017-01-27 09:39:17
这取决于您使用的SQL数据库。它们的精度有所不同:
PostgreSQL :默认为1微秒。(有关远期/过去的警告,请参阅文档。)
MySQL :默认为1秒。版本后可选的毫秒/微秒精度。5.6.4
5.6.4
MariaDB :默认为1秒。自版本以来,5.3毫秒/微秒的精度可选。
5.3
Transact-SQL (Microsoft SQL):舍入为.000,.003或.007秒的增量
SQLite :日期时间可以任意精度存储为字符串,但是“仅前三位有效”。
Oracle :默认1微秒。可选精度为1纳秒。
笔记: