はじめに
本記事は、プログラミングの学習を始めて1ヶ月の初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。
今回の疑問点
今回の疑問点は、
日時の指定方法について
です。
以前、特定期間の投稿を表示させる機能を実装している際に上記について疑問を持ちました。
疑問点についての解説
###結論
Time
やDate
とActiveSupportを使用することで指定することができる。(指定方法は他にもある)
###記述例
.rb
time = Time.now # 現在
time + 10 # 10秒後
time + 10.seconds # 10秒後
time + 10.minutes # 10分後
time + 10.hours # 10時間後
time + 10.days # 10日後
time + 10.weeks # 10週後
time + 10.months # 10ヶ月後
time + 10.years # 10年後
time.tomorrow # 翌日
time.yesterday # 昨日
time.next_month # 翌月
time.prev_month # 前月
time.next_year # 翌年
time.prev_year # 前月
time.ago(2.months) # 2ヶ月前
time.since(2.months) # 2ヶ月後
time.ago(2.years) # 2年前
time.since(2.years) # 2年後
time.beginning_of_month # 月初
time.end_of_month # 月末
time.beginning_of_year # 年初
time.end_of_year # 年末
Time.now.end_of_quarter # 四半期末
time.next_occurring(:wednesday) # 次の水曜日
time.prev_occurring(:wednesday) # 前の水曜日
time.prev_week(:monday) # 先週の月曜日
time.next_week(:monday) # 来週の月曜日
time.year # 年 を取り出す
time.month # 月 を取り出す
time.day # 日 を取り出す
time.hour # 時 を取り出す
time.min # 分 を取り出す
time.sec # 秒 を取り出す
time.wday # 曜日 を取り出す(0:Sunday, 1:Monday, ……)
time.yday # 1/1からの経過日数
time.all_day # 00:00:00~23:59:59
time.all_week # 1週間
time.all_month # 1ヶ月間
time.all_quarter # 四半期の間
time.all_year # 1年間
(Time.current.at_end_of_day - 6.day).at_beginning_of_day)..(Time.current.at_end_of_day) # 1週間
Date
は年月日
Time
は年月日時(分秒含む)
まとめ
最後にポイントをまとめます。
-
Time
やDate
とActiveSupportを使用することで指定することができる -
Date
は年月日、Time
は年月日時(分秒含む)を取得することができる