2011-09-14 83 views

Trả lời

18

lần đầu tiên tôi sẽ phân tích chuỗi với Time#strptime và sau đó đầu ra nó với Time#strftime. Điều này đảm bảo kiểm tra nghiêm ngặt với định dạng ban đầu của bạn.

require 'time' 
Time.strptime("10pm", "%I%P").strftime("%H:%M") 
=> "22:00" 
+0

+1 cho "yêu cầu" thời gian "", cũng thêm phương thức phân tích cú pháp vào lớp Thời gian (nếu mức độ nghiêm ngặt không được mong muốn). – steenslag

0

Bạn có nói rằng bạn muốn 11 giờ sáng và 10 giờ tối và sau đó là khả năng đến 11:00 và 22:00 hoặc bạn có muốn hiển thị 11:00 và 22:00 thay vì 11 giờ sáng và 10 giờ tối không?

nếu câu hỏi thứ hai của mình ở đây:

%H - Hour of the day, 24-hour clock (00 to 23).

#!/usr/bin/ruby -w 
time = Time.new 

puts time.to_s 
puts time.ctime 
puts time.localtime 
puts time.strftime("%H:%M") 

nếu câu hỏi đầu tiên của nó nói:

%I Hour of the day, 12-hour clock (01 to 12).

#!/usr/bin/ruby -w 
time = Time.new 
timeSwitch = 1 

if (timeSwitch == 1) 
    puts time.strftime("%H:%M") 
else 
    puts time.strftime("%I:%M") 
end 

Xin lỗi về điều đó đã Perl và Ruby hỗn hợp lên trên cú pháp

+0

Tôi đã thấy các cờ% H và% I trong strftime(). Tôi không cố gắng định dạng thời gian hiện tại. Tôi có một chuỗi với '10pm' và tôi muốn chuyển đổi nó thành '22: 00 '. Cảm ơn cho phản ứng nhanh chóng của bạn. – paniwani

+0

Chỉ cần thực hiện time_string + 12 = conversionTime để 'time = 10 đặt thời gian + 12 = 22' –

3

Câu hỏi của bạn không rõ ràng, nhưng có vẻ như bạn có chuỗi "10 giờ chiều" và bạn cần (1) ghi lại dưới dạng Thời gian và (2) biểu thị Thời gian ở định dạng 24 giờ. Tôi sẽ làm như thế này Thứ nhất, gem install chronic, sau đó, viết một kịch bản như thế này:

require 'chronic' 
t = Chronic.parse('10pm') 
p t.strftime("%H:%M") 

Returns "22:00"

11

The Time lớp không có phương pháp phân tích cú pháp, nhưng DateTime có.

require 'date' 
DateTime.parse("11pm").strftime("%H:%M") #=> "23:00" 
+1

Hoàn hảo! Tôi đã làm sai DateTime.parse ("11pm"). To_time.strftime ("% H:% M") trước đây. Cảm ơn! – paniwani

Các vấn đề liên quan