[python] time, DateTime a MySQLdb

EsoRimer EsoRimer na centrum.cz
Pátek Říjen 29 11:06:34 CEST 2004


On Wed, 27 Oct 2004 13:35:30 +0200
Jaroslav Pachola <j_p na centrum.cz> wrote:

> Dne Wednesday 27 of October 2004 08:53 Hynek "rADOn" Fabian napsal:
> > Marek Blaha:
> > > Asi by bylo prehlednejsi proste porovnavat casy bez posledni polozky:
> > >
> > > if CAS1[:-1] == CAS2[:-1] :
> >
> > IMHO uplne nejlepsi zpusob je nevymyslet znovu kolo a ukladat cas jako
> > klasicky unixovy timestamp do integer sloupce. ma to mensi rezii, dobre se
> > to indexuje a mnohem lepe se s tim pracuje.
> 
> Souhlasim s Vami obema. Jenom je treba si uvedomit, ze jeden z tech casu je 
> nespravny a pokud bude chtit Eso prevadet ten tuple napr. na unixovy 
> timestamp, mel by vedet, ktery je spatne a proc. V jeho pripade:
> 
> In [71]: time.mktime((2004, 4, 30, 11, 52, 47, 4, 121, 0))
> Out[71]: 1083322367.0
> 
> In [72]: time.mktime((2004, 4, 30, 11, 52, 47, 4, 121, 1))
> Out[72]: 1083318767.0
> 
> JP
> 
Děkuju za přínosné podněty (-:
Výše zmíněné porovnání mi ale nepřijde navíc moc systémové, navíc ten čas ukládám
do slovníku (spolu s dalšími daty) a takové slovníky pak porovnávám, jestli jsou,
jako celek, stejné.

A k tomu druhému příkladu, čas získávám pomocí funkce strptime (ten řetězec co tam
mám v příkladu uvedný "natvrdo" normálně načítám z textového souboru, proto ho získávám
tímto způsobem a né jiným ....

>> CAS = strptime('2004-04-30 11:52:47','%Y-%m-%d %H:%M:%S')
>> print CAS
(2004, 4, 30, 11, 52, 47, 4, 121, 0)

Který z těch dvou časů (jestli s 0 nebo 1 na konci) je "správný" a PROČ?



Další informace o konferenci Python