Antworten:
datetime
Modul könnte Ihnen dabei helfen:
datetime.datetime.strptime(date_string, format1).strftime(format2)
Für das spezifische Beispiel könnten Sie tun
>>> datetime.datetime.strptime('Mon Feb 15 2010', '%a %b %d %Y').strftime('%d/%m/%Y')
'15/02/2010'
>>>
date_string
als string haben.
format1
muss eine Zeichenfolge sein, um das Format der Eingabe-Datumszeichenfolge auszudrücken. format2
ist das auszugebende Zielzeichenfolgenformat.
Sie können die dateutil- Bibliothek installieren . Seine parse
Funktion kann herausfinden, in welchem Format eine Zeichenfolge vorliegt, ohne dass Sie das Format angeben müssen, mit dem Sie arbeiten datetime.strptime
.
from dateutil.parser import parse
dt = parse('Mon Feb 15 2010')
print(dt)
# datetime.datetime(2010, 2, 15, 0, 0)
print(dt.strftime('%d/%m/%Y'))
# 15/02/2010
python 3.x
muss installiert werdenpython-dateutil
pip install python-dateutil
>>> from_date="Mon Feb 15 2010"
>>> import time
>>> conv=time.strptime(from_date,"%a %b %d %Y")
>>> time.strftime("%d/%m/%Y",conv)
'15/02/2010'
Zeichenfolge in Datum / Uhrzeit-Objekt konvertieren
from datetime import datetime
s = "2016-03-26T09:25:55.000Z"
f = "%Y-%m-%dT%H:%M:%S.%fZ"
out = datetime.strptime(s, f)
print(out)
output:
2016-03-26 09:25:55
Da diese Frage häufig gestellt wird, finden Sie hier die einfache Erklärung.
datetime
oder time
Modul hat zwei wichtige Funktionen.
In beiden Fällen benötigen wir eine Formatierungszeichenfolge. Es ist die Darstellung, die angibt, wie das Datum oder die Uhrzeit in Ihrer Zeichenfolge formatiert ist.
Nehmen wir nun an, wir haben ein Datumsobjekt.
>>> from datetime import datetime
>>> d = datetime(2010, 2, 15)
>>> d
datetime.datetime(2010, 2, 15, 0, 0)
Wenn wir ab diesem Datum eine Zeichenfolge im Format erstellen möchten 'Mon Feb 15 2010'
>>> s = d.strftime('%a %b %d %y')
>>> print s
Mon Feb 15 10
Nehmen wir an, wir möchten dies s
erneut in ein datetime
Objekt konvertieren .
>>> new_date = datetime.strptime(s, '%a %b %d %y')
>>> print new_date
2010-02-15 00:00:00
In diesem Dokument finden Sie alle Formatierungsanweisungen bezüglich Datum / Uhrzeit.
Nur zur Vervollständigung: Beim Parsen eines Datums mit strptime()
und das Datum enthält den Namen eines Tages, Monats usw. enthält, müssen Sie das Gebietsschema berücksichtigen.
Es wird auch in den Dokumenten als Fußnote erwähnt .
Als Beispiel:
import locale
print(locale.getlocale())
>> ('nl_BE', 'ISO8859-1')
from datetime import datetime
datetime.strptime('6-Mar-2016', '%d-%b-%Y').strftime('%Y-%m-%d')
>> ValueError: time data '6-Mar-2016' does not match format '%d-%b-%Y'
locale.setlocale(locale.LC_ALL, 'en_US')
datetime.strptime('6-Mar-2016', '%d-%b-%Y').strftime('%Y-%m-%d')
>> '2016-03-06'
@codeling und @ user1767754: Die folgenden zwei Zeilen funktionieren. Ich habe gesehen, dass niemand die vollständige Lösung für das angeforderte Beispielproblem veröffentlicht hat. Hoffentlich ist das genug Erklärung.
import datetime
x = datetime.datetime.strptime("Mon Feb 15 2010", "%a %b %d %Y").strftime("%d/%m/%Y")
print(x)
Ausgabe:
15/02/2010
Sie können dies auch mit Pandas erreichen:
import pandas as pd
pd.to_datetime('Mon Feb 15 2010', format='%a %b %d %Y').strftime('%d/%m/%Y')
Ausgabe:
'15/02/2010'
Sie können den Pandas-Ansatz für verschiedene Datentypen anwenden:
import pandas as pd
import numpy as np
def reformat_date(date_string, old_format, new_format):
return pd.to_datetime(date_string, format=old_format, errors='ignore').strftime(new_format)
date_string = 'Mon Feb 15 2010'
date_list = ['Mon Feb 15 2010', 'Wed Feb 17 2010']
date_array = np.array(date_list)
date_series = pd.Series(date_list)
old_format = '%a %b %d %Y'
new_format = '%d/%m/%Y'
print(reformat_date(date_string, old_format, new_format))
print(reformat_date(date_list, old_format, new_format).values)
print(reformat_date(date_array, old_format, new_format).values)
print(date_series.apply(lambda x: reformat_date(x, old_format, new_format)).values)
Ausgabe:
15/02/2010
['15/02/2010' '17/02/2010']
['15/02/2010' '17/02/2010']
['15/02/2010' '17/02/2010']
Verwenden Sie die Datetime-Bibliothek http://docs.python.org/library/datetime.html. Nachschlagen 9.1.7. Insbesondere strptime () strftime () Verhaltensbeispiele http://pleac.sourceforge.net/pleac_python/datesandtimes.html