Fra*_*cis 4 python time time-t python-2.5 year2038
Windows上的官方Python 2.5是使用Visual Studio.Net 2003构建的,它使用32位time_t.因此,当年份> 2038年时,它只是例外.
虽然这在Python 2.6中已经修复(使用VS2008将time_t更改为64位),但我想使用2.5,因为已经为它编译了许多模块.
所以这是我的问题 - 是否有任何解决方案可以轻松让我的程序处理年份> 2038仍然使用官方Python 2.5?例如,一些预先制作的图书馆喜欢"time64"或"长期"等...
请不要告诉我升级到2.6+或忘记错误 - 我有理由需要让它工作,这就是我在这里发布问题的原因.
datetime标准库中的模块应该可以正常工作.你怎么从一个模块需要time的是datetime不提供?
我不是说听起来很陈词滥调,但为什么不呢:
编辑: 澄清:(我很认真 - 我不是故意嘲笑)
据推测,你可以在现在和2038年之间的某个无限期间将Python升级到2.6(或更高版本).也许在2012年.也许在2015年.也许在2037年.
如果您了解应用程序中的Python时间戳变量之间的差异(我不是Python用户),看起来这些是需要考虑的重要方面:
如果答案是有利的,只需使用常规时间戳及其2038错误.您必须将其与重新设计/重构的数量进行比较,以使您的应用程序使用备用时间戳(例如,数据库时间戳字符串或其他)进行操作.
我发现的最好的解决方案是获取Python 2.5的源代码副本,并使用默认time_t为64位的编译器重新编译时间模块,例如VS2005或VS2008(也可以配置C运行时以防止并行)侧问题)。
| 归档时间: |
|
| 查看次数: |
2269 次 |
| 最近记录: |