Ich möchte eine Zeitdifferenz in Minuten zwischen "Utc now" und einer Variablen vom Typ Ecto.DateTime
finden. Was ist der einfachste Weg das zu tun? Soll ich beide in Unix-Zeit umrechnen und subtrahieren anstatt Mustervergleiche durchzuführen und zuerst Jahr, Monat, Tag und Stunde zu vergleichen und erst danach tatsächlich die Minuten zu subtrahieren? Ich möchte keine Drittanbieter-Abhängigkeiten verwenden.Wie Minuten in 2 Daten in Phoenix/Ecto zu vergleichen?
0
A
Antwort
1
JIC: Ecto.DateTime
is a struct und es hat einen Ecto.DateTime.from_erl/1
Helfer Er ist auch verantwortlich für „utc jetzt“ mit Ecto.DateTime.utc/1
Erzeugung (sowie from_unix!
und einige andere.).
Elixir DateTime
hat wiederum to_unix/2
, daher könnte man:
dt1, dt2 = [ecto_time, Ecto.DateTime.utc]
|> Enum.map(&Ecto.DateTime.to_erl/1)
|> Enum.map(&NaiveDateTime.from_erl!/1)
|> Enum.map(&DateTime.from_naive!(&1, "Etc/UTC"))
|> Enum.map(&DateTime.to_unix(&1))
mins = (dt1 - dt2)/60
1
Sie Ecto.DateTime
-DateTime
mit UTC Zeitzone konvertieren und dann vergleichen ihre to_unix
:
iex(1)> now = DateTime.utc_now |> DateTime.to_unix
1486544161
iex(2)> now2 = Ecto.DateTime.utc |> Ecto.DateTime.to_erl |> NaiveDateTime.from_erl! |> DateTime.from_naive!("Etc/UTC") |> DateTime.to_unix
1486544206
iex(3)> (now2 - now)/60
0.75
Pattern Matching kein wäre Eine gute Idee, da Sie jeden Fall des Jahres/des Monats/des Tages/der Stunde/Minute/Sekunde, die nach dem Addieren/Subtrahieren überläuft, behandeln müssen.
0
Elixir hat jetzt eine DateTime.diff/3
Methode.
DateTime.diff(dt1, dt2, :minute)
(In Ihrem Fall DTX ist DateTime.utc_now
)
Verwandte Themen
- 1. Unterschied zwischen 2 Daten in Minuten
- 2. Wie Stunden und Minuten zu vergleichen?
- 3. Wie vergleichen Stunden und Minuten
- 4. Wie 2 Aussagen in Java zu vergleichen
- 5. Wie zwei Daten in AngularJS zu vergleichen?
- 6. Wie Daten in der Validierung zu vergleichen?
- 7. Vergleichen 2 ISO 8601 Zeitstempel und Ausgabe Sekunden/Minuten Unterschied
- 8. Wie vergleichen Daten in Django
- 9. Wie in RDLC zu vergleichen
- 10. Wie 2 Spalten in verschiedenen Datentabellen vergleichen
- 11. Daten in MySQL vergleichen
- 12. Wie VBA-Code in 2 Arbeitsblättern zu vergleichen
- 13. Differenz zwischen 2 date_time in Minuten
- 14. wie konvertieren Minuten zu Tagen, Stunden, Minuten
- 15. Wie Daten in 2 Spalten einer Zeile in Kendo UI Grid zu vergleichen?
- 16. Notwendigkeit, Daten in SSRS zu vergleichen
- 17. GitHub API - wie 2 Commits zu vergleichen
- 18. Daten in DataView.RowFilter vergleichen?
- 19. Vergleichen von 2 Daten mit MomentJS
- 20. Unterschied in Minuten zwischen 2 Zeitstempeln
- 21. Wie zu vergleichen 2 ISODate Felder in Mongo?
- 22. Datum zwischen 2 Daten vergleichen und in Funktion von
- 23. Wie zwei benutzerdefinierte Daten in Powershell v2.0 zu vergleichen
- 24. PMD Xpath, wie zu vergleichen 2 @Image?
- 25. Wie 2 Strings alphabetisch zu vergleichen
- 26. So vergleichen Sie zwei Daten in PowerShell & erhalten Unterschied in Minuten
- 27. Python zu vergleichen 2 Listen
- 28. Vergleichen von 2 Spalten in JTable für Daten
- 29. R aggregierte Daten in rund 10 Minuten
- 30. 5 Minuten Intervallzeit bis zu 15 Minuten Zeitintervall mittleres Daten
Sie 'jetzt meinen Sie()' von SQL? –
Mit "utc now" meinen Sie das neue 'DateTime.utc_now/0'? – Dogbert