【问题标题】:How to format date in python如何在python中格式化日期
【发布时间】:2017-01-24 16:42:13
【问题描述】:

我用python做了一个爬虫。

但我的爬虫以这种格式获取日期:

s = page_ad.findAll('script')[25].text.replace('\'', '"')
s = re.search(r'\{.+\}', s, re.DOTALL).group() # get json data
s = re.sub(r'//.+\n', '', s) # replace comment
s = re.sub(r'\s+', '', s) # strip whitspace
s = re.sub(r',}', '}', s) # get rid of last , in the dict
dataLayer = json.loads(s)
print dataLayer["page"]["adDetail"]["adDate"]

2017-01-1412:28:07

我只想要没有时间的日期 (2017-01-14),如果没有空格,如何只获取日期?

【问题讨论】:

  • 您应该提供minimal reproducible example。就目前而言,没有人知道你实际上在做什么来获得那个日期。
  • 切掉结尾:date[:10]

标签: python python-2.7 datetime python-2.x


【解决方案1】:

使用字符串子集:

>>> date ="2017-01-1412:28:07"

>>> datestr= date[:-8]
>>> datestr
'2017-01-14'
>>> 

【讨论】:

    【解决方案2】:

    由于这不是标准的日期格式,所以只需切掉结尾。

    st = "2017-01-1412:28:07"
    res = st[:10]
    print res
    
    >>>2017-01-14
    

    【讨论】:

      【解决方案3】:

      试试这个代码:

      In [2]: from datetime import datetime
      
      In [3]: now = datetime.now()
      
      In [4]: now.strftime('%Y-%m-%d')
      Out[4]: '2017-01-24'
      

      更新

      我建议您先将日期解析为datetime 对象,然后从中显示相关信息。

      为此,更好的方法是为此使用库。 我将dateparser 用于此任务,示例用法:

      import dateparser
      date = dateparser.parse('12/12/12')
      date.strftime('%Y-%m-%d')
      

      【讨论】:

        【解决方案4】:

        如下使用datetime先将其转换为日期时间对象,然后使用stftime()函数按要求格式化输出:

        from datetime import datetime
        
        ad_date = dataLayer["page"]["adDetail"]["adDate"]
        print datetime.strptime(ad_date, "%Y-%m-%d%H:%M:%S").strftime("%Y-%m-%d")
        

        这将打印:

        2017-01-14
        

        通过使用此方法,您可以灵活地显示其他项目,例如在末尾添加%A 将显示星期几:

        print datetime.strptime(ad_date, "%Y-%m-%d%H:%M:%S").strftime("%Y-%m-%d %A")
        

        例如

        2017-01-14 Saturday
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-28
          • 1970-01-01
          • 2018-05-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多