当前位置: 首页 > 知识库问答 >
问题:

如何使用Python将此字符串转换为iso 8601

那开济
2023-03-14

我有这个字符串

14 Mai 2014

我想把它转换成iso 8601

我读了这个答案和这个,

首先我尝试将字符串转换为日期,然后将其转换为iso格式:

test_date = datetime.strptime("14 Mai 2014", '%d %m %Y')
iso_date = test_date.isoformat()

我得到了这个错误:

ValueError: time data '14 Mai 2014' does not match format '%d %m %Y'

共有2个答案

车胤运
2023-03-14

您需要使用%b令牌而不是%m
要使用%b令牌,您必须设置一个区域设置。
Python文档

import datetime
import locale

locale.setlocale(locale.LC_ALL, 'fr_FR')
test_date = datetime.datetime.strptime("14 Mai 2014", '%d %b %Y')
iso_date = test_date.isoformat()

结果将是“2014-05-14T00:00:00”

燕实
2023-03-14

根据Python strftime引用%m表示月份中的一天,在您的情况下,“Mai”似乎是您当前语言环境中的月份名称,您必须使用此%b格式。所以您的代码应该如下所示:

test_date = datetime.strptime("14 Mai 2014", '%d %b %Y')
iso_date = test_date.isoformat()

不要忘记设置区域设置。

对于英语区域设置,它的工作原理是:

>>> from datetime import datetime
>>> test_date = datetime.strptime("14 May 2014", '%d %b %Y')
>>> print(test_date.isoformat())
2014-05-14T00:00:00
 类似资料:
  • 问题内容: 我想遍历每个单独的ArrayList。我不知道如何将字符串转换为适当的ArrayList对象。 问题答案: 这种语法看起来像是JSON的子集,我猜想客户端实际上是将其编码为JSON。假设这是真的,最简单的方法将是使用现成的JSON解析器和一些简单的Java代码将结果对象转换为代码所需的形式。 当然,您可以手动实现自己的解析器,但是这样做可能不值得,尤其是如果您必须处理字符串转义,空格中

  • 问题内容: 假设我有以下字符串: 是否有一些功能或模块可以将上述字符串转换为以下所有字符都更改为与url兼容的字符串: 在python中执行此操作的最佳方法是什么? 问题答案: Python 2的urllib.quote_plus和Python 3的urllib.parse.quote_plus 输出:

  • 问题内容: 我从服务器收到以下响应: 我需要将其转换为。有什么帮助吗? 顺便说一句,我尝试了一下,但它不起作用: 我得到错误: 问题答案: 如果您正在谈论在Java库中使用JSON,那么由于您的输入字符串是JSON对象,而不是JSON数组,因此您应该首先使用JSONObject加载它: 之后,您可以使用toJSONArray()将给定的键字符串数组将JSONObject转换为JSONArray:

  • 我们可以使用StreamApi将上面的字符串转换为字符流吗?

  • 问题内容: 我正在阅读有关python的新f字符串的 博客 ,它们看起来很整洁。但是,我希望能够从字符串或文件中加载f字符串。 我似乎找不到任何执行此操作的字符串方法或其他函数。 从上面我的链接中的示例: 但是,如果我有琴弦怎么办?我希望能够像这样: 事实证明,我已经可以执行类似的操作并获得性能提高。即: 问题答案: f字符串是代码。不仅以安全的方式(当然,字符串文字就是代码),而且以危险的任意代

  • 问题内容: 我对Python中的JSON感到有些困惑。在我看来,这就像是一本字典,出于这个原因,我正在尝试这样做: 但是当我这样做时,它会给出一个错误。 如何将该字符串转换为结构,然后调用以获得“示例词汇表”? 问题答案: