Làm thế nào để có được dấu thời gian UTC trong Ruby?Làm thế nào để có được dấu thời gian UTC trong Ruby?
Trả lời
time = Time.now.getutc
Lý do: Trong mắt tôi một dấu thời gian là chính xác rằng: Một điểm trong thời gian. Điều này có thể được biểu diễn chính xác với một đối tượng. Nếu bạn cần bất kỳ điều gì khác, giá trị vô hướng, ví dụ: giây kể từ thời đại Unix, khoảng thời gian 100 ns kể từ 1601 hoặc có thể là một chuỗi cho mục đích hiển thị hoặc lưu dấu thời gian trong cơ sở dữ liệu, bạn có thể dễ dàng nhận được điều đó từ đối tượng. Nhưng điều đó phụ thuộc rất nhiều vào mục đích sử dụng của bạn.
Nói rằng »dấu thời gian thực là số giây kể từ thời đại Unix« là một chút thiếu điểm, vì đó là một cách đại diện cho một thời điểm, nhưng cũng cần thêm thông tin để biết rằng bạn đang đối phó với một thời gian và không phải là một con số. Đối tượng Time
giải quyết vấn đề này một cách độc đáo bằng cách biểu diễn một điểm trong thời gian và cũng đang rõ ràng về nội dung là.
Time.utc(2010, 05, 17)
Định dạng mặc định không phải là rất hữu ích, theo ý kiến của tôi. Tôi thích ISO8601 như đó là sắp xếp được, tương đối nhỏ gọn và được công nhận rộng rãi:
>> require 'time'
=> true
>> Time.now.utc.iso8601
=> "2011-07-28T23:14:04Z"
Lưu ý rằng phương pháp này đến từ ActiveSupport, không phải trong thư viện chuẩn http://www.rubydoc.info/docs/rails/ActiveSupport%2FTimeWithZone:iso8601 – n0nick
@ n0nick bạn chắc chắn, ngay cả trong 2.0? Tôi biết tôi đã sử dụng nó trên "vanilla" cài đặt mà không có đường ray vv, và nó trong '/ usr/share/ruby / 2.0/time.rb'. –
vừa thử lại. bạn đúng rồi. xin lỗi về điều đó – n0nick
Cách đúng là để làm một Time.now.getutc.to_i
để có được số lượng dấu thời gian đúng như chỉ hiển thị số nguyên không cần phải luôn luôn giống như dấu thời gian utc do chênh lệch múi giờ.
Mọi người khác đều nói vậy, vậy tại sao chỉ sao chép nó, không có thông tin mới, trễ 3 năm? – Druzion
Và không có dấu chấm câu nào có thể làm cho câu 1, mà là một chút quá dài và không hoàn toàn cú pháp chính xác, rõ ràng hơn. –
Dấu thời gian với độ chi tiết của nó được tính bằng giây là gì? Tôi thấy nó hoạt động thực tế hơn nhiều với Time.now.to_f. Heck, bạn thậm chí có thể ném một to_s.sub ('.', '') Để thoát khỏi dấu thập phân, hoặc thực hiện một typecast như thế này: Integer (1e6 * Time.now.to_f).
time = Time.zone.now()
Nó sẽ làm việc như
irb> Time.zone.now
=> 2017-12-02 12:06:41 UTC
Jonathan, bạn có thể cho tôi biết có gì sai trong câu trả lời này không? – Asterisk
Điều này phụ thuộc vào thứ Ruby là múi giờ địa phương. Nó sẽ làm việc như mong đợi chỉ khi TZ địa phương là UTC. – MasterCheffinator
- 1. Làm thế nào để có được dấu thời gian Unix trong MySQL từ thời gian UTC?
- 2. Chuyển đổi UTC dấu thời gian để ISO 8601 trong Ruby
- 3. Python: Chuyển đổi thời gian UTC thành dấu thời gian UTC
- 4. Java: Làm thế nào để bạn chuyển đổi dấu thời gian UTC thành giờ địa phương?
- 5. Chuyển đổi dấu thời gian/ngày thời gian từ UTC để EST Oracle SQL
- 6. Làm thế nào để có được thời gian thời gian trong C#?
- 7. Hiện thời gian của Python() trả về một dấu thời gian trong UTC?
- 8. Làm thế nào để chuyển đổi dấu thời gian java thành dấu thời gian php?
- 9. Làm thế nào để có được ngày trong tuần từ một dấu thời gian Unix (PHP)?
- 10. Làm thế nào để có được một dấu thời gian Unix trong Clojure?
- 11. Làm cách nào để có được thời gian UTC chính xác với Python?
- 12. Tạo thời gian UTC trong java
- 13. nhận thời gian UTC bằng PHP
- 14. Ruby: chuyển đổi dấu thời gian unix thành ngày
- 15. Dấu thời gian SensorEvent.timestamp tới tuyệt đối (utc)?
- 16. C# GMT thời gian tương đương với thời gian UTC?
- 17. Làm thế nào để có được dấu thời gian hiện tại
- 18. Làm thế nào để tạo dấu thời gian theo dõi
- 19. UTC Thời gian chuyển nhượng trong VBScript
- 20. Làm thế nào tôi có thể nhận được dấu thời gian hiện nay trong PHP
- 21. Kiểm tra xem hai dấu thời gian có cùng ngày trong Ruby
- 22. Làm thế nào để tạo dấu thời gian trong vài giây
- 23. Làm thế nào để chuyển đổi thời gian giữa các múi giờ (UTC thành EDT)?
- 24. Làm thế nào để chuyển đổi một dấu thời gian unix thành dấu thời gian ISO8601 trong PHP?
- 25. Làm cách nào để tạo các dấu thời gian Unix?
- 26. Định dạng Dấu thời gian trong Java
- 27. Log4Net: Đăng nhập với thời gian UTC
- 28. Cách chuyển đổi dấu thời gian UTC thành ngày và giờ hệ thống trong ABAP
- 29. Dấu thời gian Scala UTC trong vài giây kể từ ngày 1 tháng 1 năm 1970
- 30. Javascript để chuyển đổi UTC thời gian cục bộ
Điều đó cho các đối tượng thời gian, bạn nên để Time.now.to_i cho một dấu thời gian đúng – rafamvc
Trong opninion tôi một đối tượng là timestampy đủ và bạn có vẫn tất cả sự tự do bạn cần. Giảm nó thành giá trị vô hướng trong hầu hết các trường hợp không thực sự cần thiết. – Joey
Dấu thời gian có liên quan đến kỷ nguyên - không quan trọng bạn đang ở múi giờ nào. Câu trả lời của manzhikov là câu trả lời hay nhất. –