datetime funktion

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Daveron

Hi,

ist es möglich bei der datetime funktion now() die mircoseconds wegzulassen? meine datetimeeinträge haben standardmässig microseconds auf 0...
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sind das nicht Nachkommastellen? Die sind dann nach einem int() oder round() weg...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Daveron

ne das funktioniert nicht, da round eine float brauch und ich eine datetime nicht mit int() konvertieren kann.
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Ich bin nicht sicher, ob ich verstanden habe, was du eigentlich genau haben willst, ich gehe einfach mal davon aus, du willst ein datetime.datetime-Objekt, welches datetime.dateime.now() entspricht mit dem Unterschied, dass die microseconds aus 0 gesetzt sind?

Das würde ich erstmal so machen:

Code: Alles auswählen

% python
Python 2.3.5 (#2, Jun 19 2005, 13:28:00) 
[GCC 3.3.6 (Debian 1:3.3.6-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> n = datetime.datetime.now()
>>> print n.microsecond
234185
>>> d = datetime.datetime(n.year, n.month, n.day, n.hour, n.minute, n.second)
>>> print d.microsecond
0
>>> 
BlackJack

Die `datetime` Objekte haben eine `replace()` Methode:

Code: Alles auswählen

In [70]: datetime.datetime.now()
Out[70]: datetime.datetime(2005, 8, 26, 0, 23, 28, 936525)

In [71]: datetime.datetime.now().replace(microsecond=0)
Out[71]: datetime.datetime(2005, 8, 26, 0, 23, 32)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

BlackJack hat geschrieben:Die `datetime` Objekte haben eine `replace()`
Hi BlackJack!

Das klingt ja toll :) und ich habe mich immer so, wie es henning beschrieben hat, abgeplagt. :?

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Ah super, hab ich auch mal wieder was dazugelernt :-)
Was mich interessieren würde:
Wird dabei ein neues datetime-Objekt erzeugt oder das alte veändert?
Sind datetime-Objekte überhaupt mutabel?
BlackJack

henning hat geschrieben:Wird dabei ein neues datetime-Objekt erzeugt oder das alte veändert?
Man bekommt ein neues Objekt:

Code: Alles auswählen

In [16]: dt = datetime.datetime.now()

In [17]: id(dt)
Out[17]: 1073848168

In [18]: id(dt.replace(microsecond=0))
Out[18]: 1073848216
Antworten