[RUBY] Comment comparer uniquement le temps avec Rails (de quelle heure à quelle heure, quelque chose comme)

Contexte du problème

Comment écrivez-vous quelque chose comme ça, qui est ouvert tard le soir et augmente de 15% de 23h00 à 17h00 le lendemain? L'histoire. Je veux porter un bon jugement sur la condition "23 h 00 à 17 h 00 le lendemain".

Solution

Si vous essayez de comparer par type d'heure, il sera difficile de saisir les informations de date, vous ne pouvez donc comparer que la partie horaire avec strftime et to_i.

def late_time?(time)
  num = time.strftime('%H%M').to_i
  [*0..459, *2300..2359].include?(num)
end

target_time = Time.zone.parse('2020/9/1 23:00')
p late_time?(target_time) #=> true

target_time = Time.zone.parse('2020/9/2 0:00')
p late_time?(target_time) #=> true

target_time = Time.zone.parse('2020/9/2 4:59')
p late_time?(target_time) #=> true

target_time = Time.zone.parse('2020/9/2 5:00')
p late_time?(target_time) #=> false

target_time = Time.zone.parse('2020/9/2 6:00')
p late_time?(target_time) #=> false

target_time = Time.zone.parse('2020/9/2 22:59')
p late_time?(target_time) #=> false

Recommended Posts

Comment comparer uniquement le temps avec Rails (de quelle heure à quelle heure, quelque chose comme)
[Rails] Comment lire le fichier XML téléchargé depuis l'écran en type Hash
Comment régler l'heure d'affichage sur l'heure japonaise dans les rails
Mettez en majuscule uniquement la plage spécifiée avec la sous-chaîne. (Comment utiliser la sous-chaîne)
[Avec des astuces de retour] Comment présenter React aux rails les plus simples
[Rails] Comment introduire le kaminari avec Slim et changer le design
[Java] Résumez comment comparer avec la méthode equals
[Rails] Comment utiliser la méthode de la carte
[Java] Comment régler la date sur 00:00:00
Comment créer un environnement Rails 6 avec Docker
Comment décorer CSS sur les boutons radio de rails6 form_with (helper)
Comment déboguer le traitement dans le modèle Ruby on Rails avec juste la console
[Rails] Comment appliquer le CSS utilisé dans l'application principale avec Administrer
[Rails] Comment résoudre le décalage temporel de created_at après la méthode de sauvegarde
[Ruby on Rails] Comment se connecter avec seulement votre nom et mot de passe en utilisant le bijou
[Rails] Comment décider de la destination par "voies ferrées"
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
Comment lier Rails6 Vue (à partir de la construction de l'environnement)
[Rails6] Comment connecter la fonction d'affichage générée par Scaffold avec la fonction utilisateur générée par devise
[Rails] Comment enregistrer plusieurs enregistrements dans la table intermédiaire avec une association plusieurs-à-plusieurs
Comment implémenter une fonctionnalité similaire dans Rails
Je veux jouer avec Firestore de Rails
[Rails] Comment utiliser la méthode d'assistance utilisée dans l'application principale avec Administrer
Comment créer une API avec GraphQL et Rails
Je veux obtenir uniquement l'heure à partir des données de type Time ...! [Strftime] * Notes supplémentaires
[Rails] Comment créer un environnement avec Docker
Unifier le fuseau horaire de l'application Rails à l'heure japonaise
Essayez de résumer la disposition commune avec des rails
Comment vérifier les commandes Rails dans le terminal
[Rails] Comment convertir l'affichage de l'heure UC en affichage de l'heure japonais
Comment supprimer le tweet associé à l'utilisateur lorsque vous le supprimez en même temps
[Explication approximative] Comment séparer le fonctionnement de l'environnement de production et de l'environnement de développement avec Rails
Comment supprimer des éléments enfants associés à un élément parent en même temps
[Rails] Solution lorsque l'erreur "visite de la méthode non définie" "apparaît lors de l'utilisation de Capybara avec Rspec
Comment implémenter UICollectionView avec du code uniquement dans Swift
Comment changer l'action avec plusieurs boutons d'envoi
Que faire si le serveur Rails ne peut pas démarrer
Comment implémenter une fonctionnalité intéressante dans Ajax avec Rails
Comment pousser une application développée avec Rails vers Github
Comment supprimer un objet new_record construit avec Rails
[Java] Comment extraire le nom du fichier du chemin
[Ruby on Rails] Comment changer le nom de la colonne
Comment générer manuellement un JWT avec Knock in Rails
[Rails] Je ne sais pas comment utiliser le modèle ...
[Rails] Comment changer le nom de colonne de la table
Organisé comment interagir avec le JDK par étapes
Comment sortir le standard d'un tableau avec for Each
[Comment insérer une vidéo dans un hameau avec Rails]
[Rails] Comment gérer les modifications d'URL après le rendu
Comment télécharger des images depuis AWS S3 (rails, carrierwave)
Comment interroger Array dans jsonb avec Rails + postgres