腌制后是否更新日期时间时间戳?

Boandlkramer

我正在使用datetime.date.today()。day创建一个时间戳。在代码的稍后部分,应将此时间戳记与另一个(当前)时间戳记进行比较,但仅在日期级别进行比较:“如果当前日期不是先前时间戳记的日期,则执行操作”。

为此,我要使用pickle保存第一个时间戳。现在,我想知道,如果pickle.load之后datetime-object是否会自动更新,那么加载日期是否不是“转储”日期。毕竟,该函数被命名为“ today” ...我希望这不是一个愚蠢的问题,我设法正确地解释了我的问题。

宫城先生

该方法datetime.datetime.today() 创建datetime.datetime当前时刻的新对象。对象本身不知道它是如何创建的,即既不知道函数又不知道函数的意图。它只知道创建的时间,这就是要存储的内容。

如果您查看该函数的文档(例如通过help(datetime.datetime.today),它将提供以下功能:

当前日期或日期时间:与 self.__class__.fromtimestamp(time.time())

现在,time.time()提供当前时间戳,例如1468585949.653488这是一个纯数字(floatint),一旦创建便保持不变然后,该数字将被简单地馈送到datetime.datetime.fromtimestamp对于任何给定的时间戳,这将始终为您提供相同的datetime[1]。

In [12]: datetime.datetime.fromtimestamp(1468585949.653488)
Out[12]: datetime.datetime(2016, 7, 15, 14, 32, 29, 653487)

如果转储该对象,则会得到一个常规datetime.datetime对象。它只是普通的类datetime.datetime及其数据,没有诸如之类的函数或方法引用datetime.datetime.today

In [3]: print(pickle.dumps(datetime.datetime.fromtimestamp(1468585949.653488),protocol=0))
# cdatetime  # class datetime.\
# datetime   #                datetime
# p0         # push last object (datetime.datetime) to stack as p0
# (S'\x07\xe0\x07\x0f\x0e \x1d\t\xf8\xb0'  # group '(' start, string 'S' from binary ('\x07...')
# p1         # push last object (string) to stack as p1
# tp2        # create tuple from last stack group, push to stack as p2
# Rp3        # call p0(*p2)
# .          # done

那么,这件垃圾怎么办?它看起来该对象datetime.datetimep0,存储字符串'\x07\xe0\x07\x0f\x0e \x1d\t\xf8\xb0'作为p1,创建的元组p2 = tuple((p1,)),然后调用p0(*p2)

或者换句话说,datetime.datetime('\x07\xe0\x07\x0f\x0e \x1d\t\xf8\xb0')被返回。请注意,to的参数datetime.datetime是一个常量字符串。这将始终为您提供原始的日期时间:

In [30]: datetime.datetime('\x07\xe0\x07\x0f\x0e \x1d\t\xf8\xb0')
Out[30]: datetime.datetime(2016, 7, 15, 14, 32, 29, 653488)

[1]时区等的差异

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新日期时间时间戳分钟值

来自分类Dev

更新日期主题的时间

来自分类Dev

如何在动态SQL中使用sysdate(包括时间戳)更新日期列

来自分类Dev

如何在动态SQL中使用sysdate(包括时间戳)更新日期列

来自分类Dev

MySQL更新日期时间字段

来自分类Dev

尝试循环更新日期和时间

来自分类Dev

SQL更新日期时间条目

来自分类Dev

Rails-无法更新日期时间

来自分类Dev

Postgres:更新日期并保留时间戳记中的时间

来自分类Dev

如何检查两个“日期时间”时间戳之间的“日期时间”时间戳是否

来自分类Dev

SQL Server数据库的最后更新日期时间

来自分类Dev

在SQL数据库中插入并更新日期时间

来自分类Dev

SQL中的批量更新日期时间列

来自分类Dev

Rails 4.2不会更新日期时间字段

来自分类Dev

控制是否更新会话时间戳

来自分类Dev

如何更新日期时间字段以仅包含日期或时间部分

来自分类Dev

比较日期时间戳

来自分类Dev

Firebase的日期与时间戳

来自分类Dev

Firebase的日期与时间戳

来自分类Dev

PHP日期时间戳

来自分类Dev

将时间戳转换为新日期时出现问题

来自分类Dev

将时间戳转换为新日期时出现问题

来自分类Dev

根据日期时间选择计算新日期

来自分类Dev

NSManagedObject时间戳更新

来自分类Dev

时间戳未更新

来自分类Dev

无法更新后数据库更新当前时间戳

来自分类Dev

SQL 替换和更新日期时间字符串“在某个日期之前”

来自分类Dev

使用javasrcript中的时间对象更新日期对象中的日期

来自分类Dev

更改后不会更新Outlook VbaProject.OTM时间戳