Tôi muốn tạo một cá thể DateTime nằm trong 20 phút và 10 giây trong tương lai. Tôi đã thử với Time và DateTime trong irb, nhưng dường như không thể tìm ra một cách thực sự có ý nghĩa. Tôi chỉ có thể thêm ngày vào đối tượng DateTime và chỉ thêm giây vào đối tượng Thời gian.Thao tác thời gian trong ruby
Không có cách nào tốt hơn là luôn luôn chuyển đổi thời gian tôi muốn thêm vào giây?
Cá nhân tôi thích viết ra '60 * 60 * 24' để làm cho nó rõ ràng hơn một chút khi số ma thuật xuất phát, mặc dù nó rõ ràng sẽ chậm hơn một chút khi chạy. –
@AndrewMarshall Đồng ý, và trừ khi một người thực hiện thao tác 'DateTime' này hàng triệu lần sau hàng triệu lần, hai phép nhân khác không đáng giá * tối ưu hóa vi *. Thậm chí không nghĩ về nó cho đến khi bạn gặp phải vấn đề về hiệu suất.Thậm chí tốt hơn, làm thế nào về chỉ tuyên bố một hằng số ở đầu mã? 'SECONDS_PER_DAY = 60 * 60 * 24' và sử dụng. Tương tự có thể được thực hiện cho 'MINUTERS_PER_DAY = 60 * 24' và' HOURS_PER_DAY = 24', mặc dù có thể điều cuối cùng không cần thiết, nhưng tốt nhất là nhất quán và chỉ liệt kê tất cả. –