Ich musste den Code eines anderen pflegen, und als ich dem Code folgte, war es mühsam, das Datum "% j" in "UNIX-Zeit" zu konvertieren.
Dann, als ich angewidert war und nach "Rubin aber Strptime" suchte, Bingo !!
Vor dem Austausch testen.
Führen Sie den folgenden Code aus
$ ruby -e 'require "time" ; p Time.strptime("2003,070,12:21:51 JST", "%Y,%j,%H:%M:%S %z").to_i'
1041391311
# ↑ 2003/01/01 12:21:51 JST
Es ist ein Problem aufgetreten.
Eh? % J
Kannst du es interpretieren?
Ich konnte keine Antwort bekommen, selbst wenn ich Gugu ansah [^ 1]
[^ 1]: Es ist etwas Besonderes, zuerst% j zu verwenden ...
Probieren Sie verschiedene Dinge aus ...
Die ".strptime" der "Time" -Klasse (Modul?) Des alten "Rubins" scheint "% j" nicht zu interpretieren [^ 2]
Bei der Überprüfung war 2.7.1p83
OK [^ 3]
[^ 2]: In Bezug auf das Ersetzen von Code gibt es verschiedene Probleme bei der Verwendung von "DateTime", also letztendlich in Form der Einbettung des selbst erstellten Codes, der zur Überprüfung erstellt wurde.
[^ 3]: 2.6.3p62
ist OK.
Führen Sie den folgenden Code mit "1.9.2p290", "2.0.0p481" bzw. "2.7.1p83" aus.
test.rb
require 'date'
require 'time'
#Selbstgemachte Funktion zur Steuerung
def manu(t)
arr = t.split(/[,: ]/).map(&:to_i)
Time.mktime(arr[0],1,1,arr[2],arr[3],arr[4]) + ( arr[1] - 1) * 24 * 60 * 60
end
str = "2003,070,12:21:51 JST"
# DateTime.Das Ergebnis der Strptime
p DateTime.strptime(str, "%Y,%j,%H:%M:%S %z").strftime("%s").to_i
#Ergebnis der selbstgemachten Funktion
p ( manu str ).to_i
# Timme.Das Ergebnis der Strptime
p Time.strptime(str, "%Y,%j,%H:%M:%S %z").to_i
In 1.9.2
und 2.0.0
interpretiert Time.strptime
% jnicht.
DateTime.strptime` interpretiert es.
shell-session:1.9.2p290,2.0.0p481
$ ruby test.rb
1047352911
1047352911
1041391311 # <= 2003/01/01 12:21:51 JST
Andererseits interpretiert 2.7.1
auch Time.strptime
.
shell-session:2.7.1p83
$ ruby test.rb
1047352911
1047352911
1047352911
Wenn es so etwas wie die "Rubin" -Version von "Delta" gibt, wäre es ein Schuss, wenn Sie es lesen, aber diese Leidenschaft entsteht nicht ...
Recommended Posts