• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pedrotuga

[dúvida]Como converter um objecto datetime numa string?

13 mensagens neste tópico

A pergunta é essa.

Há aqui pessoal com mais prática em python, já devem saber isto de cór. Eu andei pela documentação oficial mas não estou muito numa de passar duas horas a desbravar mato pois  a documentação do python não inclui exemplos de código.

Aqui vão as duas linhazinhas de código

from datetime import *

data = datetime(2008,6,8,21,0,0)  #como é que mando isto para uma string

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ainda há pouco tempo tive com este problema no wxPython...

Podes fazer assim:

from datetime import *

data = datetime(2008,6,8,21,0,0)  #como é que mando isto para uma string

data_em_string = data.strftime("%a, %d %b %Y %H:%M:%S")

Podes ver como usar o strftime aqui.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tambem da assim


from datetime import *

data = datetime(2008,6,8,21,0,0)  #como é que mando isto para uma string

datastr=str(data)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem... entretanto decidi experimentar o construtor __string__() e funcionou, tal como newbeen tinha dito.

De qualquer das formas obrigado.

Estas porras é que acho que são negativas. Porque é que os objectos  destas classes que até são distribuidas com o python não podem ser utilizadas no contexto de uma string...?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pedrotuga, não precebi a pergunta, podes explicar melhor?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pedrotuga o que e realmente chato e trabalhares com unicode por vezes da vontade de dar xutos ao computador bahhh!!!

A parte boa e que tens sempre maneira de resolver os problemas facilmente umas vezes com mais pesquisa outras vezes com menos ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fnds, em java, php, perl e outras, quando poes um objecto nocontexto de uma string, isto quer dizer, por exemplo: ocncatenado com outras strings, ou passado como parametro para uma função  uqe aceite strings, este é convertido para um string na maior parte dos casos.

Se forem objectos de classes escritas por ti podes definir como o objecto se vai comportar nessa situação.

Em python, o método str() ou o contrutor string() têm que ser chamados manualmente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pedrotuga isso é porque Java, PHP, PERL são linguagem fracamente tipadas. Python é uma linguagem fortemente tipada. Numa linguagem fortemente tipada, as conversões teem de ser feitas explicitamente pelo programador.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pedrotuga isso é porque Java, PHP, PERL são linguagem fracamente tipadas. Python é uma linguagem fortemente tipada. Numa linguagem fortemente tipada, as conversões teem de ser feitas explicitamente pelo programador.

Ui... cuidado que ainda começas uma discussão de quatro páginas sobre o significado de tipagem forte/fraca dinâmica/estática segura/permissiva.

Qual é vantagem de uma linguagem não permitir conversões implícitas? Eu não considero muito isso uma característica mas sim uma funcionalidade que não está implementada. Todas as linguagens, acabam por permitir controlo total sobre os tipos de dados de qualquer das formas.

E por exemplo, em java tens mesmo controlo sobre quando queres que as conversões implícitas ocorram ou não ( cool )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ui... cuidado que ainda começas uma discussão de quatro páginas sobre o significado de tipagem forte/fraca dinâmica/estática segura/permissiva.

Pois ;) Vou só responder muito resumidamente. Depois se o pessoal quizer continuar que criem uma nova thread, já que isto não diz respeito só a Python.

Qual é vantagem de uma linguagem não permitir conversões implícitas?

Eu diria que a principal vantagem é robustez do código. Imagina que tinha a seguinte linha de código.

5 + "4"

O que deveria acontecer aqui? Deveria responder o número 9? Ou deveria responder a string "54"? 

Eu não considero muito isso uma característica mas sim uma funcionalidade que não está implementada.
Depende. Gostos variam. Eu prefiro ao contrário e ser eu próprio a indicar quando deve converter ou não.
Todas as linguagens, acabam por permitir controlo total sobre os tipos de dados de qualquer das formas.
Não permitem não. A capacidade de teres controlo sobre os tipos varia de linguagem para linguagem. Por exemplo, em Haskell podes usar o sistema de tipos para elaborar computações e tens outras linguagem que nem sequer tens tipos, Forth, Assembly, etc...
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pedrotuga podes fazer assim também se não quiseres converter o tipo da variável mas quiseres imprimir o resultado:


idade=21

nome="Rui"

print "Eu sou o "+nome+" e tenho "+`idade`

Usar plicas invertidas `` na variável que não seja string mas por vezes da uns resultados esquisitos :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora