相关疑难解决方法(0)

Python-将字符串类型转换为日期时间类型

我有两个想要比较的变量。打印出来后,它们是这样的:

2020-05-20 13:01:30
2020-05-20 14:49:03
Run Code Online (Sandbox Code Playgroud)

但是,一种是字符串类型,另一种是日期时间类型。如果我想将字符串一转换为日期类型以便我可以比较它们,这是唯一使用的方法吗strptime?因为这对我来说似乎有点多余,因为该字符串已经具有我想要的确切格式。基本上,是否有一个功能与 相同strptime,但不重新格式化它?正如您可以想象的那样,谷歌搜索这个问题是不可能的,因为我得到的只是人们试图将任何类型的字符串格式化为日期时间,所以所有答案都只是指向strptime.

python datetime

10
推荐指数
2
解决办法
1万
查看次数

如何将python timestamp string转换为epoch?

我有以下字符串:

mytime = "2009-03-08T00:27:31.807Z"
Run Code Online (Sandbox Code Playgroud)

如何在python中将其转换为epoch?

我试过了:

import time
p = '%Y-%m-%dT%H:%M:%S'
int(time.mktime(time.strptime(s, p)))
Run Code Online (Sandbox Code Playgroud)

但它不适用于31.807Z.

python timestamp epoch

8
推荐指数
4
解决办法
3万
查看次数

使用python计算时差

我想知道是否有一种方法或内置库可用于找到两个字符串输入的时间差异.

我的意思是,如果我有2个输入字符串:

  1. '2013-10-05T01:21:07Z'
  2. '2013-10-05T01:21:16Z'

如何计算时间差并将其打印为输出.

我知道这听起来有点傻,但对此有任何帮助表示赞赏.

python time gps date difference

7
推荐指数
2
解决办法
1万
查看次数

将isoformat字符串转换为python datetime对象

可能重复:
如何在python中解析ISO格式的日期?

我有一个isoformat datetime作为字符串,如下例所示 -

'2011-05-31T04:35:33.127-05:00'
Run Code Online (Sandbox Code Playgroud)

将它转换为python datetime对象的最佳方法是什么?我遇到了一些帖子,告诉我们如何获得一个isoformat字符串,但不是相反.

谢谢!!

根据严的评论编辑 -

>>>import dateutil.parser
>>> d1='2011-05-31T04:35:33.127-05:00'
>>> d2=dateutil.parser.parse(d1)
>>> d2
datetime.datetime(2011, 5, 31, 4, 35, 33, 127000, tzinfo=tzoffset(None, -18000))
Run Code Online (Sandbox Code Playgroud)

我需要获取原始字符串表示的本地时间的datetime对象.由于我不知道输入日期在哪个时区,我不能使用astimezon方法.最好的方法是什么?谢谢!!

python datetime

6
推荐指数
1
解决办法
8120
查看次数

我如何在python中从时间戳转换为日期?

我有这个字符串'2015-04-08T07:52:00Z',我想把它转换成'08/04/2015',我怎么能这样做?

python datetime date

6
推荐指数
1
解决办法
2700
查看次数

在 Flask-SQLAlchemy 中使用 ISO 时间戳

我有一个从 API 获得的日期。它的形式为2015-01-01T15:04:23Z

如何使用 Flask-SQLAlchemy 将此日期接受到模型中?

到目前为止,我已经尝试过,

date = db.Column(db.DateTime)
Run Code Online (Sandbox Code Playgroud)

date = db.Column(db.DateTime(timezone=True))
Run Code Online (Sandbox Code Playgroud)

这给了我错误

StatementError: (exceptions.TypeError) SQLite DateTime type only accepts Python datetime and date objects as input.
Run Code Online (Sandbox Code Playgroud)

此外,当我使用 a 检索它时get,我需要它采用完全相同的格式。

dateutilPython模块解析得很好,但是当我从表中检索它,我需要得到2015-01-01T15:04:23Z

>>> from dateutil.parser import parse
>>> parse('2015-01-01T15:04:23Z')
datetime.datetime(2015, 1, 1, 15, 4, 23, tzinfo=tzutc())
Run Code Online (Sandbox Code Playgroud)

python sqlite schema sqlalchemy flask

6
推荐指数
1
解决办法
2657
查看次数

如何在格式为“0000-00-00T00:00:00+00:00”的字符串上使用 datetime.strptime?

由于我的应用程序的情况,我更愿意使用datetime.strptime而不是dateutil.parser.

查看文档后,我认为这%Y-%m-%dT%H:%M:%S%z可能是解析这样的日期字符串的正确格式。但它仍然给我一个错误。

例子

from datetime import datetime

d = '0000-00-00T00:00:00+00:00'
datetime.strptime(d, '%Y-%m-%dT%H:%M:%S%z')
Run Code Online (Sandbox Code Playgroud)
ValueError: time data '0000-00-00T00:00:00+00:00' does not 
            match format '%Y-%m-%dT%H:%M:%S%z'
Run Code Online (Sandbox Code Playgroud)

python datetime strptime

6
推荐指数
1
解决办法
5701
查看次数

python parse `ISO_8601` time or time interval

I need to convert

FROM

a list of strs

TO

a list of

  • either a datetime.datetime
  • or a datetime.datetime plus a datetime.timedelta.

The input list contains strings in ISO_8601 (wikipedia) format. The strings can either be a date or a time interval. The solution for this, that I came up with is the following:

import dateutil.parser

result = []
for str_ in input_list:
    if not is_time_interval_str(str_):
        result.append(dateutil.parser.parse(str_))
    else:
        result.append(parse_time_interval(str_))
Run Code Online (Sandbox Code Playgroud)

What I am stuck with is the two functions …

python datetime parsing iso

6
推荐指数
0
解决办法
793
查看次数

以ISO格式打印日期时间,不带毫秒

我正在尝试在API中序列化datetime,但我不想要毫秒.我想要的是:https://en.wikipedia.org/wiki/ISO_8601 -"2015-09-14T17:51:31+00:00"

tz = pytz.timezone('Asia/Taipei')
dt = datetime.datetime.now()
loc_dt = tz.localize(dt)
Run Code Online (Sandbox Code Playgroud)

试试A:

loc_dt.isoformat()
>> '2015-09-17T10:46:15.767000+08:00'
Run Code Online (Sandbox Code Playgroud)

试试B:

loc_dt.strftime("%Y-%m-%dT%H:%M:%S%z")
>> '2015-09-17T10:46:15+0800'
Run Code Online (Sandbox Code Playgroud)

后者几乎是完美的,除了在时区部分缺少冒号.如何在没有字符串操作的情况下解决此问题(删除毫秒或添加冒号)?

python timezone datetime iso

5
推荐指数
1
解决办法
6269
查看次数

如何解析以`Z`结尾的日期时间?

我有以下日期时间字符串s

2017-10-18T04:46:53.553472514Z

我是这样解析的:

t = datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')
Run Code Online (Sandbox Code Playgroud)

如何修复 ValueError:时间数据'2017-10-18T04:46:53.553472514Z'与格式不匹配'%Y-%m-%dT%H:%M:%SZ'

python python-3.x

5
推荐指数
2
解决办法
8919
查看次数