Wyciągam dane z kanału, nad którym nie mam kontroli, i muszę sprawdzić, czy podany ciąg jest prawidłowym czasem.Ruby: Jak sprawdzić, czy ciąg znaków jest prawidłowym czasem?
Przez większość czasu wysyłano mi coś w stylu "2:35" lub "15:41", ale w innych przypadkach takie rzeczy jak "AM" lub "PM" (bez numerów) ... więc ostatecznie po prostu trzeba je zignorować.
Jak zatem sprawdzić, czy dane są prawidłowe?
Nie używaj analizatora do sprawdzania poprawności! Time.parse ('2: 34-^5') # => 2012-08-14 02:34:00 -0400 – Bob
Użycie funkcji parse do sprawdzenia poprawności może spowodować utratę niepoprawnych czasów, np .: 'Time.parse ('27 : 45 PM ")' => 2012-12-04 15:45:00 -0500 – tjstankus