en rubis Comment puis-je faire une variable temporelle à minuit?
Par exemple Comment puis-je obtenir la variable horaire suivante: p> de celui-ci? < / p>
3 Réponses :
Une fois créé, vous pouvez appeler l'heure code> ne peut pas être modifié. Vous devez créer un nouvel instance em>, par ex. Donné: TIME.UTC CODE> Passer l'année, mois et jour de l'objet: P> Time.utc(t.year, t.month, t.day)
#=> 2020-01-07 00:00:00 UTC
Premier ajustement t code> Si l'idée est de tourner à minuit la plus proche: t + = 12 * 60 * 60 code>.
@CarySwoveland La question quitte la salle d'interprétation. Je pensais que l'Op voulait juste régler des heures, des minutes et des secondes à 0. Plus d'exemples ou une meilleure explication aiderait.
La question est mal posée et doit être clarifiée. Répondant auparavant que cela a été fait des résultats dans la confusion.
Si vous utilisez ActiveSupport em> Vous pouvez utiliser TIME # Changer CODE> . time_2 = time_1.beginning_of_day
#=> 2020-01-07 00:00:00 UTC
Ou time_1.midnight code>
ou vous pouvez convertir en temps à ce jour.
Time.now.to_date.to_time
La question vous donne un objet code> code> à modifier. Pourquoi ignorez-vous cela et en utilisant temps.now code>? Cela donne le temps à minuit précédents (à moins que l'heure donnée ne soit minuit, dans laquelle ce temps est retourné). La question ne définit pas "tour"; Ce pourrait être le précédent minuit ou le plus proche minuit.
Notez que cela produira 00:00:00 dans le fuseau horaire actuel. temps.Utc (2020, 1, 7, 2, 33, 1) .to_date.to_time # => 2020-01-07 00:00:00 +0100 code>
Je ne comprends pas la question. De quelle manière vous voulez faire l'arrondi? Un timbre d'une fois est minuit, l'autre est deux heures et demie du matin. Et, parlez-vous des cordes que vous avez postées ou parlez-vous d'objets de classe
heure code> ou de classedate code> ou de classedatetime code> .Qu'êtes-vous arrondir des règles? Un conditionnel devrait faire ce dont vous avez besoin.
J'ai évité votre question, pas seulement parce que cela n'est pas clair, mais principalement parce que vous avez refusé de le clarifier malgré les deux membres qui vous demandent de le faire (ce qui leur est également irrespectueux pour eux et en général). Je vais rétracter mon bowvote si vous clarifiez avec une édition.
Analogue à
2.6.Round # => 3 code> et2.6.trunate # => 2 code>, si on me demande rond i> temps à minuit Je choisirais le Minuit le plus proche i> Minuit, pas la dernière minuit sur ou avant l'heure donnée. Veuillez modifier pour clarifier ce que vous entendez par «rond».La question est mal posée. S'il vous plaît voir " Comment demander ", " Liste de contrôle des questions de dépassement de piles " et " MCVE " et toutes leurs pages liées.