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

如何将整数转换为日期对象python?

松雅昶
2023-03-14
问题内容

我正在python中创建一个模块,在其中我以整数格式接收日期,例如20120213,它表示2012年2月13日。现在,我想将此整数格式的日期转换为python
date对象。

另外,是否有任何方法可以减去/加这样的整数格式日期的天数以接收相同格式的日期值?像从中减去30天20120213并得到答案20120114


问题答案:

我建议采用以下简单的转换方法:

from datetime import datetime, timedelta
s = "20120213"
# you could also import date instead of datetime and use that.
date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8]))

要添加/减去任意天数(秒也是如此),您可以执行以下操作:

date += timedelta(days=10)
date -= timedelta(days=5)

并转换回使用:

s = date.strftime("%Y%m%d")

要将整数安全地转换为字符串,请使用:

s = "{0:-08d}".format(i)

这样可以确保您的字符串长8个字符,并用零填充左数,即使年份小于1000(负数年也会变得很有趣)。

进一步参考:datetime对象,timedelta对象



 类似资料:
  • 问题内容: Python和Matlab经常具有如下所示的整数日期表示形式: 733828.0 733829.0 733832.0 733833.0 733834.0 733835.0 733836.0 733839.0 733840.0 733841.0 这些数字对应于今年的某些日期。你们知道哪个功能可以将它们转换回YYYYMMDD格式吗? 太感谢了! 问题答案: 该课程可以为您提供帮助。如果将这

  • 问题内容: 我想将当前日期转换为整数值。默认情况下,它返回long。当我尝试将long转换为整数,然后将整数值转换为date时,表示它显示了1970年的日期, 输出如下: 有人可以帮帮我,如何将当前日期转换为整数(10位数字)? 问题答案: 问题是Integer的大小不足以存储当前日期,因此需要使用Long。 日期在内部存储为自1970年1月1日以来的毫秒数。 最大Integer值为2147483

  • 问题内容: 我有以下日期: 我需要知道这是date在 datetime(2009,04,01) 之前还是之后,而且我似乎找不到找到将字符串转换为可以将其与 datetime(2009,04,01) 比较的 方法。 ) 以一种有意义的方式。 问题答案: 由于该字符串采用ISO格式,因此可以直接将其与您提到的ISO格式版本进行有意义的比较: 如您所见,虽然您无法将字符串与日期时间对象进行比较,但只要字

  • 问题内容: 如何在python中将YYYY-MM-DD hh:mm:ss格式转换为整数?例如2014-02-12 20:51:14->转换为整数。 我知道如何仅转换hh:mm:ss,但不转换 yyyy-mm-dd hh:mm:ss 问题答案: 这取决于整数应编码的内容。您可以将日期转换为以前某个时间的毫秒数。人们通常将其粘贴到1970年1月1日上午12:00或1900等,然后以该点之后的整数毫秒为

  • 问题内容: 我有一个创建日期或对象的日期的表示形式。我已经通过看和,但没有发现任何可以比创建我自己的丑陋的解析方法做其他。我知道一定有办法,有人知道解决方案吗? 问题答案: 简单来说: 有关更多信息,请参见。 并将其转换为,请执行以下操作:

  • 问题内容: 给定一年和一个日历周,我如何获得该周的星期二作为日期? 问题答案: 给定您和(日历周)作为变量(例如,从SELECT语句中获取),您可以通过以下方式获取DATE: 该短语重复;不想存储变量。SQL语句在MySQL上对我来说效果很好。 更新: 只是为了澄清:将产生一周的第一天。从中减去一个数字(星期二为-1;星期三为-2,依此类推,将为您选择一周中的特定日期)。看这里。