【问题标题】:Python convert datetime string to datePython将日期时间字符串转换为日期
【发布时间】:2015-03-24 14:36:39
【问题描述】:

我有这个字符串(它来自一个变量。例如,st_date)

'2015-01-28 03:00:00' 

我想解析日期并转换为 type:date

datetime.date 2015-01-28 

从中......我怎么能这样做?

【问题讨论】:

标签: python django python-2.7 openerp openerp-7


【解决方案1】:
import datetime
import time
date_str_obj = '2015-01-28 03:00:00'
date_date_obj = datetime.datetime.strptime(date_str_obj, '%Y-%m-%d %I:%M:%f')

【讨论】:

    【解决方案2】:

    使用datetime.strptime(),它有两个参数,你的日期作为一个字符串和你想要的格式。

    from datetime import datetime
    my_date = datetime.strptime('2015-01-28 03:00:00', '%Y-%m-%d %H:%M:%S')
    my_date.year
    >> 2015
    

    【讨论】:

    • 这会创建一个datetime 对象,而不是date 对象。调用 datetime.date(my_date) 可以解决这个问题。
    【解决方案3】:

    只需阅读文档https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime

    from datetime import datetime
    
    a = '2015-01-28 03:00:00'
    print datetime.strptime(a[:10], '%Y-%m-%d')
    

    【讨论】:

      【解决方案4】:

      使用 strptime() 函数。

      datetime.datetime.strptime('2015-01-28 03:00:00','%Y-%m-%d %H:%M:%S') #24-hour clock
      datetime.datetime.strptime('2015-01-28 03:00:00','%Y-%m-%d %I:%M:%S') #12-hour clock
      

      【讨论】:

        【解决方案5】:

        使用dateutil:

        import dateutil.parser
        dateutil.parser.parse('2015-01-28 03:00:00').date()
        >>datetime.date(2015, 1, 28)
        

        【讨论】:

        • 不必要 - 格式已知,不需要外部模块。而且它没有提供所需的对象类型。
        • 使用额外的库来解析这种简单的已知格式是一个真正的开销。尤其是当标准库执行此操作时。
        【解决方案6】:

        您可以使用easy_date 来简化:

        import date_converter
        my_date = date_converter.string_to_date('2015-01-28 03:00:00', '%Y-%m-%d %H:%M:%S')
        

        【讨论】:

          【解决方案7】:
          from datetime import datetime
          date = datetime.strptime('2015-01-28 03:00:00','%Y-%m-%d %H:%M:%S')
          date.date()
          

          【讨论】:

            猜你喜欢
            • 2012-06-04
            • 1970-01-01
            • 2015-09-17
            • 2021-06-01
            • 2021-05-31
            • 2019-04-12
            • 2011-09-08
            • 2011-05-17
            • 1970-01-01
            相关资源
            最近更新 更多