Vraag Hoe krijg je UTC timestamp in Ruby?


Hoe krijg je UTC timestamp in Ruby?


110
2018-05-31 11:03


oorsprong


antwoorden:


time = Time.now.getutc

Achtergrond: In mijn ogen is een tijdstempel precies dat: een punt in de tijd. Dit kan nauwkeurig worden weergegeven met een object. Als u iets anders nodig heeft, is een scalaire waarde, bijvoorbeeld seconden sinds het Unix-tijdvak, 100-ns-intervallen sinds 1601 of een tekenreeks voor weergavedoeleinden of het opslaan van de tijdstempel in een database, kunt u die eenvoudig ophalen uit het object. Maar dat hangt erg af van het beoogde gebruik.

Zeggen dat »een echte tijdstempel het aantal seconden is sinds de Unix-periode« een beetje het punt mist, zoals dat is een manier om een ​​punt in de tijd weer te geven, maar het heeft ook aanvullende informatie nodig om zelfs maar te weten dat je te maken hebt met een tijd en niet met een getal. EEN Time object lost dit probleem mooi op door een tijdstip te representeren en ook expliciet zijn over wat het is.


99
2018-05-31 11:09



Je zou kunnen gebruiken: Time.now.to_i.


213
2018-05-31 15:45



De standaardopmaak is naar mijn mening niet erg nuttig. Ik geef de voorkeur aan ISO8601 omdat het sorteerbaar, relatief compact en algemeen wordt erkend:

>> require 'time'
=> true
>> Time.now.utc.iso8601
=> "2011-07-28T23:14:04Z"

39
2017-07-28 23:15



Meestal heeft tijdstempel geen tijdzone.

% irb
> Time.now.to_i == Time.now.getutc.to_i
=> true

12
2018-02-21 06:43



Wat heb je aan een tijdstempel met zijn gedetailleerdheid in seconden? Ik vind het veel praktischer om met Time.now.to_f samen te werken. Je kunt zelfs een to_s.sub ('.', '') Gooien om de decimale punt te verwijderen, of een typecast als deze uit te voeren: Integer (1e6 * Time.now.to_f).


4
2018-03-16 14:11



Time.utc(2010, 05, 17)


2
2018-05-31 11:19



time = Time.zone.now()

Het zal werken als

irb> Time.zone.now
=> 2017-12-02 12:06:41 UTC

-1
2017-12-02 12:02



De juiste manier is om een Time.now.getutc.to_i om de juiste tijdstempel te krijgen, omdat het eenvoudig weergeven van het gehele getal niet altijd hetzelfde hoeft te zijn als het utc-tijdstempel vanwege tijdzoneverschillen.


-4
2017-09-11 10:11