python
  • datetime
  • 2010-04-09 30 views 43 likes 
    43

    Bu dize verilen: "Fri, 09 Apr 2010 14:10:50 +0000" bir datetime nesnesine nasıl dönüştürülür?Dizeyi UTC ofsetiyle bir datetime nesnesine dönüştürme

    >>> from datetime import datetime 
    >>> 
    >>> str = 'Fri, 09 Apr 2010 14:10:50' 
    >>> fmt = '%a, %d %b %Y %H:%M:%S' 
    >>> datetime.strptime(str, fmt) 
    datetime.datetime(2010, 4, 9, 14, 10, 50) 
    

    Ama:

    >>> from datetime import datetime 
    >>> 
    >>> str = 'Fri, 09 Apr 2010 14:10:50 +0000' 
    >>> fmt = '%a, %d %b %Y %H:%M:%S %z' 
    >>> datetime.strptime(str, fmt) 
    Traceback (most recent call last): 
        File "<stdin>", line 1, in <module> 
        File "/usr/lib64/python2.6/_strptime.py", line 317, in _strptime 
        (bad_directive, format)) 
    ValueError: 'z' is a bad directive in format '%a, %d %b %Y %H:%M:%S %z' 
    

    ... Bu çalışması gerekir gibi hissediyorum bazı okuma yapıyor sonra ancak yok bir sorun olmadan çalışır unutulmamalıdır "Fri, 09 Apr 2010 14:10:50 +0000" ile sıkışmış. Tam olarak bunu herhangi bir şekilde değiştirmeden (veya dilimlemeksizin) dönüştürmeyi tercih ederim.

    +0

    ['dateutil'] (https://pypi.python.org/pypi/python-dateutil/)' .parser.parse 'bunu Python 2'de yapabilir. 'Pip install dateutil' ve python 3.2 ondan sonra. – n611x007

    cevap

    39

    Strptime her zaman %z'u desteklemiyor gibi görünüyor. Python sadece C işlevini çağırır ve strptime platformunuzda %z'u desteklemez.

    Not: Python 3.2'den itibaren her zaman çalışır.

    +2

    Beni buna döv! Check out: http://bugs.python.org/issue6641 – AlG

    +0

    İkinize de teşekkürler, bunu python2.5/2.6/3.1 ile benim win makinemde denedim ve python2.6/3.1 my * nix'de aynı başarısızlık. % Z aslında gerçekten herkes için çalışıyor mu, sanırım değil. – Gussi

    +3

    yanlış. strptime(), saf Python'da uygulanmaktadır. Strftime() 'dan farklı olarak; tüm platformlarda aynı davranır. Herhangi bir platformda Python 2 üzerinde çalışmayacak. – jfs

    İlgili konular