Brincando com datas no Python

3 12 2009

Bom hoje vamos dar uma olhada no básico sobre datas no Python, para isso vamos dar uma olhada nos modulos time e datetime
Primeira questão referente a data que podemos levantar é qual a data de hoje??
então vamos ver como fazemos pra retornar a data atual:

>>>
>>> from datetime import date
>>> today = date.today()
>>> print "A data de hoje é %s" % today
A data de hoje é 2009-12-03
>>>
>>> today.year
2009
>>> today.month
12
>>> today.day
3
>>>

Hum, tá começando a ficar interessante..
vejam só o timetuple come ele temos uma maneira interessante de acessar os mesmos dados acima mas em uma tupla..

>>> today.timetuple()
(2009, 12, 3, 0, 0, 0, 3, 337, -1)

Ok digamos que eu queira saber quantos dias já se passaram esse ano?
fácil é o oitavo carinha da nossa tupla, então pra acessar podemos fazer simplesmente assim:

>>> today.timetuple()[7]
337
>>>

Ué mas eu não tinha dito o oitavo item?
sim disse mas lembrem-se que uma tupla assim como uma lista em python é indexada em 0!

podemos aproveitar agora pra formatar a saida de uma data, para isso vamos usar o
strftime que é usado exatamente pra isso, formatar nossa data ;)

>>> print today.strftime("Ano com 4 digitos: %Y, agora com dois:: %y, mes: %m, dia: %d")
Ano com 4 digitos: 2009, agora com dois:: 09, mes: 12, dia: 03
>>>

Bom assim fica tranquilo formatar nossas datas né…
para maiores detalhes sobre formatação e assuntos relacionados aconselho a dar uma olhada aqui
time.strftime

Outra coisa corriqueira que temos que faze é transformar uma data no padrão DMYHMS em timestamp
vamos a mais um exemplo:

>>>
>>> now = datetime.datetime.now()
>>> print now
2009-12-03 20:31:23.894353
>>>
>>> print "Timestamp:", time.mktime(now.timetuple())
Timestamp: 1259879483.0
>>>

e claro muitas vezes temos que fazer a operação contrária, transformar um timestamp em uma data

>>> timestamp = time.mktime(now.timetuple())
>>> data = time.localtime(timestamp)
>>> data
(2009, 12, 3, 20, 31, 23, 3, 337, 1)
>>>

Bom nessa tupla temos
Ano, mes, dia, hora, minuto, segundos, dias transcorridos no ano etc…

Bom pra finalizar esse post mas não o assuntos vamos subtrair duas datas
e pra fazer isso vamos ver quantos dias eu já vivi ;)

>>> dias_vividos = datetime.date(2009, 12, 03) - datetime.date(1976, 03, 21)
>>> print dias_vividos
12310 days, 0:00:00
>>>

Bom galera promento retornar a esse assunto, mas por hora é isso, bateu sono e fome ;)

abraços

Marcio


Ações

Informação

2 respostas

6 12 2009
Ricardo

Muito bom. Para um iniciante em Py como eu, tá ótimo.

29 11 2010
Joci :)

Nossa muito bom! adorei! me ajudou muito ;)

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s




Seguir

Obtenha todo post novo entregue na sua caixa de entrada.