Kombinieren von datetime (mit Zeitkomponente) und Zeitobjekten

Nun, ich habe datetime Objekte mit Informationen wie 2013-10-01 14:15:00 und Zeitobjekte mögen

  1. 1900-01-01 00: 00: 49.235000
  2. 1900-01-01 00: 00: 49.465000
  3. 1900-01-01 00: 00: 49,695000

Die Zeitobjekte sind eigentlich progressive Inkremente, die ich dem datetime-Objekt hinzufügen möchte. Wie hier beschrieben,

  • Pyfribidi für windows oder irgendein anderes bidi algorithmus
  • Extrahieren von Text aus geparstem HTML mit Python
  • Zugriff auf eingebaute Funktionen von __builtins__
  • Scatterplot anstelle eines Lineplots bei Verwendung der Plotfile-Funktion von matplotlib
  • Boost Python Verknüpfung
  • Wie kann ich den aktuellen Prozess ausführen?
  • Wenn Datum ein datetime-Objekt ist, werden seine Zeitkomponenten und tzinfo-Attribute ignoriert.

    Ich schrieb den Code unten. Wie soll es aktualisiert werden, um diese Zeitobjekte dem Datumsobjekt als Inkremente hinzufügen zu können?

    def CombineDateTime(date_str, time_str, date_fmt, time_fmt, equipment, sample_name): import datetime try: date_obj = datetime.datetime.strptime(date_str, date_fmt) time_obj = datetime.datetime.strptime(time_str, time_fmt) return datetime.datetime.combine(date_obj.date(), time_obj.time()) except: return 'Error' 

    Ausgabe:

    1. 2013-10-01 00: 00: 49.235000
    2. 2013-10-01 00: 00: 49.465000
    3. 2013-10-01 00: 00: 49,695000

    Erwartete Ausgabe:

    1. 2013-10-01 14: 15: 49.235000
    2. 2013-10-01 14: 15: 49.465000
    3. 2013-10-01 14: 15: 49,695000

    One Solution collect form web for “Kombinieren von datetime (mit Zeitkomponente) und Zeitobjekten”

    Die Ausgabe, die Sie erhalten, ist, weil 2013-10-01 und 00:00:49.235000 zu Ihrem datetime.datetime.combine () und die Zeit in date_obj 14:15:00 ist in diesem Punkt nicht berücksichtigt!

    Deshalb hast du das add date_obj timedelta zu deinem time_obj, bevor du dich kombinierst!

     date_time=date_obj.time() time_obj += datetime.timedelta(hours=date_time.hour,minutes=date_time.minute,seconds=date_time.second,microseconds=date_time.microsecond) 

    Das ist,

     def CombineDateTime(date_str, time_str, date_fmt, time_fmt, equipment, sample_name): import datetime try: date_obj = datetime.datetime.strptime(date_str, date_fmt) date_time=date_obj.time() time_obj = datetime.datetime.strptime(time_str, time_fmt) time_obj += datetime.timedelta(hours=date_time.hour,minutes=date_time.minute,seconds=date_time.second,microseconds=date_time.microsecond) return datetime.datetime.combine(date_obj.date(),time_obj.time()) except Exception as e: #print e return 'Error' 
    Python ist die beste Programmiersprache der Welt.