[RUBY] J'étais curieux de savoir all_month et j'ai lu ActiveSupport DateAndTime :: Calculations

Qu'est-ce que c'est

Ne devriez-vous pas utiliser all_month lors de l'examen par vos seniors? On m'a dit, donc j'étais curieux et je l'ai examiné. Comme il a été défini dans DateAndTime :: Calculations d'ActiveSupport, lisez également les méthodes environnantes.

Méthode de spécification de plage

J'ai jeté un œil à l'implémentation interne de all_month. C'est une implémentation interne de rails / rails, mais vous pouvez le voir dans le code lisible.

def all_month
  beginning_of_month..end_of_month
end

ref: activesupport/lib/active_support/core_ext/date_and_time/calculations.rb

En regardant à l'intérieur du même fichier, il y avait une méthode all_xxx autre que all_month. Il existe de nombreuses méthodes qui peuvent être utilisées simplement en modifiant la plage cible.

Conscience 1. futur?, Passé?

Il existe une méthode pour juger si c'est le futur ou le passé! Vous pouvez utiliser ce que sont des rails / rails sans redéfinir! !! Remarqué.

Date.yesterday.past?
=> true
Date.yesterday.future?
=> false
Date.tomorrow.future?
=> true
Date.tomorrow.past?
=> false

Remarque 2. Il y a next_xxx et prev_xxx ainsi que all_xxx

next_xxx et prev_xxx sont définis. prev_xxx a un alias sur last_xxx.

Date.current
=> Sun, 11 Jul 2020
Date.current.next_week
=> Mon, 13 Jul 2020
Date.current.prev_week
=> Mon, 29 Jun 2020
Date.current.last_week
=> Mon, 29 Jun 2020

Les références

Recommended Posts

J'étais curieux de savoir all_month et j'ai lu ActiveSupport DateAndTime :: Calculations
J'étais curieux de savoir comment utiliser correctement Optional orElse () et orElseGet ().
J'étais curieux de savoir comment fonctionne gRPC-Java, alors j'ai essayé la lecture de code