【问题标题】:Representing Date as numeric number将日期表示为数字
【发布时间】:2016-11-10 13:46:53
【问题描述】:

所以我试图找出一种方法来转换格式为“dd/mm/yyyy”的普通日期(例如:31/12/2016)。

我想找到一种方法将此日期转换为唯一数字,以便重新转换回来。

例如,我认为sum=day+month*12 + year*365 是数字,然后:

(sum % 365 ) / 12...

但它不适用于每个语句。有什么想法吗?

【问题讨论】:

  • 将年、日和月存储为字符串,将其连接起来,将其转换为 int,当您想要重新转换时,只需将其倒退即可。

标签: python date numbers


【解决方案1】:

最好不要自己处理字符串。而是使用名为 datetime 的模块。这是一个非常好的答案,希望能满足您需要做的事情。 Converting string into datetime

例如,在您的情况下,您需要以下内容

import datetime
your_date = datetime.datetime.strptime("31/12/2016", "%d/%m/%Y")

然后这篇文章How to convert datetime to integer in python 解释了如何将其转换为整数,但正如答案中所述,这通常是一个坏主意。

【讨论】:

    【解决方案2】:

    您可以使用datetime模块提取日、月、年,然后随意使用。

    In [9]: (y, m, d) = str(datetime.date.today()).split('-')[:3]
    
    In [10]: y, m, d
    Out[10]: ('2016', '11', '10')
    

    输出为字符串格式,可以转换为整数。

    In [11]: int(y), int(m), int(d)
    Out[11]: (2016, 11, 10)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      相关资源
      最近更新 更多