当前位置: 首页 > 面试题库 >

如何将以毫秒为单位的包含7位数字的日期字符串转换为Python中的日期

丘华翰
2023-03-14
问题内容

当千位位数为6位时,%f起作用,但如果位数超过6位,它将引发错误。我有一个临时解决方案,将第7位数字硬编码为0,但是还有更好的方法吗?目前以下作品

print (datetime.datetime.strptime(('2014-11-19 00:00:00.0000000').strip(), '%Y-%m-%d  %H:%M:%S.0%f')).date()

问题答案:

根据datetime.strptime()
https://docs.python.org/2/library/datetime.html#strftime-and-strptime-
behavior
的文档,技术说明(4),%f仅接受1-6个字符:

%f是对C标准中格式字符集的扩展(但在日期时间对象中单独实现,因此始终可用)。与strptime()方法一起使用时,%f伪指令接受1到6位数字和右边的零填充。

我认为您没有正确解决问题。您不应该在字符串前添加零,而应将所有内容都丢弃到6以上(这对时间贡献不大)。

像这样:

s='2014-11-19 00:00:00.0000000'
print (datetime.datetime.strptime((s[:26]).strip(), '%Y-%m-%d  %H:%M:%S.%f')).date()


 类似资料:
  • 问题内容: 我在字符串中有一个日期,例如“ 2012年12月12日”。如何将其转换为毫秒(长)? 问题答案: 使用SimpleDateFormat

  • 问题内容: 我已使用ruby脚本将iso时间戳转换为纪元,我正在解析的文件具有以下时间戳结构: 由于我想保留毫秒,因此我使用了以下Ruby代码将其转换为纪元时间: 但是在python中,我尝试了以下操作: 但是我没有把原定的时间日期倒退, 我想知道这与我的格式化方式有关吗? 问题答案: 用途: 指令仅受支持,而不受。 UPDATE 替代使用,:

  • 问题内容: 如何将将来的日期(例如2012年2月17日星期六)转换为毫秒数,然后从java中的当前时间中减去该毫秒数,从而得出到该未来日期为止的剩余时间。 问题答案: 最简单的技术是使用: 一种更困难的技术(基本上可以为您做些什么)涉及您自己解析(这 不会 被视为 最佳实践 ):

  • 我希望能够将日期字符串(如“2019年9月23日”)转换为dart中的毫秒

  • 问题内容: 我在Oracle 中将MSSTAMP设置 为“带有毫秒的时间戳”,格式:1483228800000。如何将该毫秒时间戳转换为日期格式“ YYYY- MM”,以便获得前几年每月的已完成行数。 我尝试了TO_DATE,CAST,TO_CHAR的不同变体-但无法正常工作。 问题答案: 如果您只需要将自纪元以来的毫秒数转换为日期,则: 哪个输出: 您只需要年月,然后使用或即可。 如果您需要处理

  • 我正在尝试用Java将一个毫秒(20180510-10:50:58.106)的字符串转换为日期。然而,当我转换它时,我得到的毫秒部分,但再次在字符串中。我想要相同的部分在日期格式。 输出为: 变量abc是一个字符串。我想在日期变量中得到相同的输出。