代码之家  ›  专栏  ›  技术社区  ›  Nathan

日期时间。带本地时区的strptime

  •  -1
  • Nathan  · 技术社区  · 7 年前

    我在数据帧中有一个UTC时间的列时间,我想将其转换为本地时间。我做了以下代码:

    from_zone = tz.tzutc() 
    to_zone = tz.tzlocal()
    # utc = datetime.utcnow()
    utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')
    utc = utc.replace(tzinfo=from_zone)
    # Convert time zone
    central = utc.astimezone(to_zone)
    

    因此字符串具有以下格式:

    2011-01-21 02:37:21+02:00

    然后我将文本文件加载到另一个程序中,我想将其转换为带有本地时区的日期时间格式

    所以我试着用 datetime.strptime() %Z

    datetime.strptime(central,'%Y-%m-%d %H:%M:%S.%f Paris, Madrid')
    

    Paris, Madrid 是什么命令 datetime.tzname(central) 给了我。 它不起作用,我没有找到任何关于如何使用的解释 .

    如果你有任何解释,请帮助我。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Johny Vaknin    7 年前

    这个 datetime.strptime() 函数的工作方式与此稍有不同。

    '.%f Paris, Madrid' 使函数认为这些单词出现在字符串中,因此当格式和字符串不匹配时,会出现错误。

    datetime.strptime(central,'%Y-%m-%d %H:%M:%S%z')