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, o DGMike mostrou como ficaria sua versão em Python
, 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
, 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…