Willian Fernandes

Usando Ruby para trabalhar com datas

Comente »

Foi publicado como “Converter formato de data do MySQL para o formato BR, em uma linha de código só” usando PHP[bb], o DGMike mostrou como ficaria sua versão em Python[bb], eu até fiz minha contribuição lá mostrando como eu faria em Python usando um objeto datetime e agora resolvi fazer o mesmo em Ruby[bb], já que estou estudando essa linguagem:

data = '2008-08-12'
td = []
data.split('-').each{ |d| td << d.to_i}
d = DateTime.new(td[0], td[1], td[2])
ndata = d.strftime('%d/%m/%Y')

[ATUALIZADO]
Respondendo a pergunta do d3rf e aproveitando a dica do Caio Moritz:

'2008-08-12'.split('-').reverse.join('/')

Aguarde, em breve voltarei com o desenvolvimento em Python com PSE e SQLObject!!!

7 comentários para "Usando Ruby para trabalhar com datas"

  1. # Bira disse:
    08/01/2008 às 13:44:54

    Aqui está um método um pouquinho mais curto :) :

    require ‘date’
    data = ’2008-08-12′
    ndata = Date.parse(data).strftime(‘%d/%m/%Y’)

  2. # d3rf disse:
    08/01/2008 às 14:15:15

    Beleza cara, agora faz em uma linha só … tem como ?

  3. # Caio Moritz disse:
    09/01/2008 às 07:11:46

    Olá, Willians

    Suas primeiras 3 linhas de código podem ser substituídas por esta:

    td = ’2008-08-12′.split(‘-’).collect { |n| n.to_i }

  4. # Caio Moritz disse:
    09/01/2008 às 07:18:00

    Willians, se você quer a mesma solução que o d3rf deu para o PHP faça isto:

    ’2008-08-12′.split(‘-’).collect { |n| n.to_i }.reverse.join(‘/’)

    Simples, não?

  5. # Caio Moritz disse:
    09/01/2008 às 07:26:43

    De fato a conversão intermediária para inteiros é totalmente desnecessária. Isso fica menor, portanto:

    ’2008-08-12′.split(‘-’).reverse.join(‘/’)

  6. 09/01/2008 às 08:45:55

    Legal pessoal!!!
    Como eu disse, ainda estou estudando a linguagem e gostei muito dos exemplos colocados nos comentários!

    Vou começar a postar mais coisas sobre Ruby para vocês me darem mais dicas, ok? :)

  7. # Daniel Docki disse:
    15/03/2008 às 16:35:21

    Caraca…

    Várias maneiras de fazer, show…comecei segunda a querer aprender Ruby, está sendo difícil mas tenho o ano todo ainda…peguei um tuto na net que achei e estou seguindo ele, é um de 200 e poucas páginas…

Deixe um comentário

*

(obrigatório)Não é aceito código HTML: adicione-o no pastie.org e poste apenas o link.