繁体   English   中英

如何从Unix时间戳中删除小时,分钟和秒?

[英]How to remove hours, minutes, and seconds from a Unix timestamp?

无需将其转换为datetime ,如何从Unix时间戳获取日期? 换句话说,我想从时间戳中删除小时,分钟和秒,并获得仅代表日期的数字。

我知道您问过“不必转换为datetime ”,但是我真的认为这是最好的方法。

>>> t
1430103943.581003
>>> datetime.date(datetime.fromtimestamp(t)).strftime("%s")
'1430056800'

手动进行此操作需要了解所有特殊情况,leap年,leap秒等。这是不切实际的,并且所有繁重的工作都已经在datetime ,所以为什么要打扰?

如果在OS之类的UNIX上运行脚本,则可以使用date命令-

>>>import subprocess
>>>process=subprocess.Popen(['date','-d','@1430106933', '+%Y%m%d'], stdout=subprocess.PIPE)
>>>out,err = process.communicate()
>>>print out
20150426

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM