Usando Ruby para trabalhar com datas

Por Willian Fernandes em 08/01/2008 na categoria desenvolvimento, linguagens, php, python, ruby

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:

1
2
3
4
5
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:

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

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

Comentários

1# Bira disse em 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 em 08/01/2008 às 14:15:15

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

3# Caio Moritz disse em 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 em 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 em 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# Willian Fernandes disse em 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 em 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átio

*Campos obrigatórios