Respostas:
A formatação pode ser feita assim (presumi que você quisesse dizer HH: MM em vez de HH: SS, mas é fácil de mudar):
Time.now.strftime("%d/%m/%Y %H:%M")
#=> "14/09/2011 14:09"
Atualizado para a mudança:
d = DateTime.now
d.strftime("%d/%m/%Y %H:%M")
#=> "11/06/2017 18:11"
d.next_month.strftime("%d/%m/%Y %H:%M")
#=> "11/07/2017 18:11"
Você precisa require 'date'
para este btw.
Date
objeto. De qualquer forma, aproveitei seu comentário como uma oportunidade para finalmente atualizar esta resposta para as versões atuais do Ruby.
require 'date'
current_time = DateTime.now
current_time.strftime "%d/%m/%Y %H:%M"
# => "14/09/2011 17:02"
current_time.next_month.strftime "%d/%m/%Y %H:%M"
# => "14/10/2011 17:02"
Para data:
#!/usr/bin/ruby -w
date = Time.new
#set 'date' equal to the current date/time.
date = date.day.to_s + "/" + date.month.to_s + "/" + date.year.to_s
#Without this it will output 2015-01-10 11:33:05 +0000; this formats it to display DD/MM/YYYY
puts date
#output the date
O texto acima exibirá, por exemplo, texto 01/10/15
E por tempo
time = Time.new
#set 'time' equal to the current time.
time = time.hour.to_s + ":" + time.min.to_s
#Without this it will output 2015-01-10 11:33:05 +0000; this formats it to display hour and minute
puts time
#output the time
Acima será exibido, por exemplo, 11:33
Então, para colocá-lo junto, adicione ao final:
puts date + " " + time