使用strptime将字符串转换为具有时区偏移的python日期类型对象

劳尔

使用此字符串Tue Jan 10 2017 13:00:13 GMT 0800 (Taipei Standard Time)将其转换为python日期类型对象的正确格式是什么strptime

我尝试了这个问题的答案,但它对我不起作用:

date1 = datetime.strptime(strDate1, '%b %d %Y %I:%M%p')

ValueError:时间数据'2017年1月10日星期二13:00:13 GMT 0800(台北标准时间)'与格式'%b%d%Y%I%I:%M%p'不匹配

斯蒂芬·劳赫(Stephen Rauch)

通常,您希望能够使用%z(小写字母z)转换TZ偏移,但是对此的支持是粗略的。所以你可以自己动手做:

import datetime as dt
import re
PARSE_TIMESTAMP = re.compile('(.*) ([+-]?\d+) \(.*\)$')


def my_datetime_parse(timestamp):
    ''' return a naive datetime relative to UTC '''

    # find the standard time stamp, and the TZ offset and remove extra end
    matches = PARSE_TIMESTAMP.match(timestamp).groups()

    # convert the timestamp element
    timestamp = dt.datetime.strptime(matches[0], '%a %b %d %Y %H:%M:%S %Z')

    # calculate the timezone offset
    tz_offset = matches[1]
    sign = '+'
    if tz_offset[0] in '-+':
        sign = tz_offset[0]
        tz_offset = tz_offset[1:]
    tz_offset += '0' * (4 - len(tz_offset))
    minutes = int(tz_offset[0:2]) * 60 + int(tz_offset[2:])
    if sign == '-':
        minutes = -minutes

    # add the timezone offset to our time
    timestamp += dt.timedelta(minutes=minutes)
    return timestamp

date_string = 'Tue Jan 10 2017 13:00:13 GMT +0800 (Taipei Standard Time)'
print(my_datetime_parse(date_string))

此代码产生:

2017-01-10 21:00:13

该代码删除了,(Taipei Standard Time)因为它与是多余的+0800

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Oracle字符串转换为带有时区的日期

来自分类Dev

将具有时代和时区的时间戳字符串转换为NSDate

来自分类Dev

Python:将具有不同时区的时间字符串转换为主机时区datetime对象?

来自分类Dev

Python:将具有不同时区的时间字符串转换为主机时区datetime对象?

来自分类Dev

将具有偏移量的字符串时间戳转换为Java日期

来自分类Dev

将日期值(字符串)转换为具有不同时区的时间戳

来自分类Dev

使用 datetime.strptime 将字符串转换为日期时 Python 中的值错误

来自分类Dev

使用时刻时区js将日期字符串转换为带时区的日期

来自分类Dev

如何将带有时区字符串的字符串转换为日期时间?

来自分类Dev

将时区pytz字符串转换为python / django中的偏移量

来自分类Dev

接收包括字符串的时区偏移量的日期,并使用该时区转换为其他格式

来自分类Dev

如何将具有当前 GMT 时区的字符串转换为正常日期时间

来自分类Dev

Python使用时区偏移量转换日期/时间字符串

来自分类Dev

使用具有不同日期格式的电话将字符串转换为日期

来自分类Dev

将字符串转换为带时区的日期时间

来自分类Dev

将字符串转换为类型对象-Python

来自分类Dev

如何将日期字符串转换为指定时区中的datetime对象

来自分类Dev

解析具有时区偏移值的ZonedDateTime字符串

来自分类Dev

如何将带有时区的奇怪日期时间字符串转换为时间戳(PySpark)

来自分类Dev

node.js将时间戳字符串转换为具有自定义时区的日期并转换为UTC

来自分类Dev

node.js将时间戳字符串转换为具有自定义时区的日期并转换为UTC

来自分类Dev

Swift:如何将String转换为具有时间格式的字符串?

来自分类Dev

使用箭头Python将字符串转换为日期

来自分类Dev

使用时区Java将字符串转换为适当的日期

来自分类Dev

如何使用 UTC/GMT 时区将字符串转换为日期

来自分类Dev

将具有字符串类型,三级MultiIndex的pandas数据帧转换为数字类型的对象

来自分类Dev

PostgreSQL:将日期字符串'2016-01-01 00:00:00'转换为具有特定时区的日期时间

来自分类Dev

将日期时间格式化为带有时区信息的字符串,以使用Javascript创建的日期

来自分类Dev

使用Powershell在特定时区将字符串转换为DateTime对象

Related 相关文章

  1. 1

    将Oracle字符串转换为带有时区的日期

  2. 2

    将具有时代和时区的时间戳字符串转换为NSDate

  3. 3

    Python:将具有不同时区的时间字符串转换为主机时区datetime对象?

  4. 4

    Python:将具有不同时区的时间字符串转换为主机时区datetime对象?

  5. 5

    将具有偏移量的字符串时间戳转换为Java日期

  6. 6

    将日期值(字符串)转换为具有不同时区的时间戳

  7. 7

    使用 datetime.strptime 将字符串转换为日期时 Python 中的值错误

  8. 8

    使用时刻时区js将日期字符串转换为带时区的日期

  9. 9

    如何将带有时区字符串的字符串转换为日期时间?

  10. 10

    将时区pytz字符串转换为python / django中的偏移量

  11. 11

    接收包括字符串的时区偏移量的日期,并使用该时区转换为其他格式

  12. 12

    如何将具有当前 GMT 时区的字符串转换为正常日期时间

  13. 13

    Python使用时区偏移量转换日期/时间字符串

  14. 14

    使用具有不同日期格式的电话将字符串转换为日期

  15. 15

    将字符串转换为带时区的日期时间

  16. 16

    将字符串转换为类型对象-Python

  17. 17

    如何将日期字符串转换为指定时区中的datetime对象

  18. 18

    解析具有时区偏移值的ZonedDateTime字符串

  19. 19

    如何将带有时区的奇怪日期时间字符串转换为时间戳(PySpark)

  20. 20

    node.js将时间戳字符串转换为具有自定义时区的日期并转换为UTC

  21. 21

    node.js将时间戳字符串转换为具有自定义时区的日期并转换为UTC

  22. 22

    Swift:如何将String转换为具有时间格式的字符串?

  23. 23

    使用箭头Python将字符串转换为日期

  24. 24

    使用时区Java将字符串转换为适当的日期

  25. 25

    如何使用 UTC/GMT 时区将字符串转换为日期

  26. 26

    将具有字符串类型,三级MultiIndex的pandas数据帧转换为数字类型的对象

  27. 27

    PostgreSQL:将日期字符串'2016-01-01 00:00:00'转换为具有特定时区的日期时间

  28. 28

    将日期时间格式化为带有时区信息的字符串,以使用Javascript创建的日期

  29. 29

    使用Powershell在特定时区将字符串转换为DateTime对象

热门标签

归档