Rubyã§æ¥ä»ã¯ã©ã¹(date)ã䜿ãããªã
倧åã®ããã°ã©ãã³ã°èšèªã«ãããŠãæ¥ä»ã¯æ°å€ãæååãšã¯ç°ãªãç¬èªã®åã§æ±ãããŸããä»åã¯ãRubyã«ãããæ¥ä»ãæ±ãããã®ã¯ã©ã¹ãDateããæ±ãæ¥ä»ãæéãååŸããããã®æ¹æ³ã«ã€ããŠãå®éã®ã³ãŒãã亀ããªãã解説ããŠãããŸããRubyã§ã¯æ¥ä»ãæ±ãããã®ã¯ã©ã¹ãšããŠDateã¯ã©ã¹ãçšæãããŠããŸããDateã¯ã©ã¹ã䜿ãããªãã°ãæ¥ä»ã«é¢ããåçš®åŠçãèªç±ã«è¡ãããšãåºæ¥ãŸãã
ä»åã¯ãDateã¯ã©ã¹ã®äœ¿ãæ¹ãå®éã®ã³ãŒããšå ±ã«è§£èª¬ããŠãããŸãã
Dateã¯ã©ã¹ïŒæ¥ä»ã¯ã©ã¹ïŒã®åºæ¬

åãªãæ°å€ãæååãšã¯ç°ãªããæ¥ä»ã®ç®¡çã¯åçŽãªããã§ããŠé£ãããèæ ®ãã¹ãäºé ãå€ãååšããŸããããã幎ããã²ãšæããšã®æ¥æ°ãææ¥ãªã©ã®ç®¡çã¯ãåãªãæ°åã®ã¿ã§èªåã§æ£ç¢ºã«ç®åºãããšãªããšãå€ãã®å·¥æ°ãããã£ãŠããŸããã®ã§ãã
ãã®ãæ¥ä»ããšããæŠå¿µãããã°ã©ãã³ã°äžã§ç°¡åãã€æ£ç¢ºã«æ±ããããçšæãããŠããã®ãããDateãã¯ã©ã¹ã§ãã
ããã°ã©ãã³ã°èšèªå šè¬ã«ãããDateã¯ã©ã¹
ãDateãã¯ã©ã¹ã¯å€§åã®ããã°ã©ãã³ã°èšèªã«çšæãããŠããŸãããæ¥ä»ããšããæŠå¿µã¯ããã°ã©ãã³ã°ã§ãã®ã¥ãããè¡ãéã«ã床ã ç»å ŽããæŠå¿µã§ããããããDateãã¯ã©ã¹ã¯ã©ããã£ãããã°ã©ãã³ã°èšèªã§ãã£ãŠããæ¬ ãããªãååšãªã®ã§ãã
ããã°ã©ãã®éçºã®çŸå Žã«ãããŠããæ¥ä»ã«é¢ããå®è£ ã¯é »ç¹ã«æ±ããããããããDateãã¯ã©ã¹ã«ç¿çããããšã¯æŽ»èºã§ããããã°ã©ãã»ãšã³ãžãã¢ã«ãªãããã®ç¬¬äžæ©ãšèšããã§ãããã
Rubyã«ãããDateã¯ã©ã¹
èšèªã«ãã£ãŠç°ãªããŸãããå€ãã®ããã°ã©ãã³ã°èšèªã®Dateã¯ã©ã¹ã¯ãæ¥æããšãæéãã®äž¡æ¹ãæ±ãããšãåºæ¥ããã«ãªã£ãŠããŸãã
ããããPythonçã®äžéšã®ããã°ã©ãã³ã°èšèªã«ãããŠã¯ãDateã®ä»ã«ãTimeãã¯ã©ã¹ãçšæãããŠãããæå»ã«é¢ããå€ã®ååŸã¯åãªãDateã¯ã©ã¹ããã¯è¡ãããšãåºæ¥ãªãããã«ãããŠããããšããããŸãã
Rubyã®èšèªä»æ§ã¯ãããã«ã€ããŠãåŸè
ïŒDateã¯ã©ã¹ãšTimeã¯ã©ã¹ã«åããããŠããïŒããæ¡çšããŠããŸããDateã¯ã©ã¹ãšTimeã¯ã©ã¹ãååšããŠãããDateã¯æ¥ä»ããTimeã¯æéã管çããã¯ã©ã¹ã«ãªã£ãŠããŸãã
ãŸããDateã¯ã©ã¹ãšTimeã¯ã©ã¹ãåãããŠãæ¥ä»ãšæå»ã®åæ¹ãæ±ããããšãã§ãããDatetimeããšããã¯ã©ã¹ãçšæãããŠããŸãã
DateãçšããŠRubyã§çŸåšã®æ¥ä»ãååŸãã

ããããRubyã®Dateã¯ã©ã¹ãçšããŠå®éã«çŸåšã®æ¥ä»ãååŸããæ¹æ³ã«ã€ããŠè§£èª¬ããŠãããŸãã
Dateã¯ã©ã¹ã䜿ãåæºåïŒrequireïŒ
Dateã¯ã©ã¹ã䜿ãåã«ãDateã¯ã©ã¹èªèº«ãRubyã®ã³ãŒãäžã«åŒã£åŒµã£ãŠããå¿ èŠããããŸãããã®ãå¿ èŠãªãã®ãå€ãããšã£ãŠãããããã«äœ¿ãããã®ããrequireãã¡ãœããã§ãã
ããã§èšããå€ããšã¯ã€ãŸããå€éšãã¡ã€ã«ããæå³ããŸããå€éšãã¡ã€ã«ãåç §ããŠãããã§å®çŸ©ãããŠããã¯ã©ã¹ãååŸããå Žåã«ããrequireãã¯ãã£ãšãåºç€çãšãªãæ§æã®ã²ãšã€ã§ãã
requireãçšããå€éšãã¡ã€ã«ã®ååŸã¯æ¬¡ã®ããã«æžããŸãã
require âdateâ
ããã ãã§ããã°ã©ã ã¯ãå€éšãã¡ã€ã«dateããåã蟌ãããšãåºæ¥ãŸãã
äžèšã³ãŒãã§ååŸããâdateâã¯ãæ¥ä»ã«é¢ããã©ã€ãã©ãªãã§ããã以åŸã®Dateã¯ã©ã¹ã®å皮解説ã«ãããŠã¯ãããã§ååŸããdateã©ã€ãã©ãªã®Dateã¯ã©ã¹ãå©çšããæ¥ä»ã®ååŸæ¹æ³ã解説ããŠãããŸãã
Date.todayãDate.parse ã§ä»æ¥ã®Dateã¯ã©ã¹ã®ãªããžã§ã¯ããååŸãã
Dateã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ïŒãªããžã§ã¯ãïŒãååŸããããšããRubyã«ã¯ããã€ãã®æ¹æ³ãçšæãããŠããŸãã代衚çãªDateãªããžã§ã¯ãååŸæ¹æ³ã¯ãtodayã¡ãœãããã䜿ãããšã§ãã
todayã¡ãœããã§Dateãªããžã§ã¯ããååŸããå Žåãæ¬¡ã®ãããªã³ãŒããæžããŸãã
require âdateâ
today = Date.today
todayã¡ãœããã§äœæããDateãªããžã§ã¯ãã倿°todayã«ä»£å
¥ããŠããŸãã
todayã¡ãœããã¯èªåçã«ã仿¥ã®æ¥ä»ããç®åºããäžã§Dateãªããžã§ã¯ããäœæããŸãããäžæ¹ã§parseã¡ãœããã¯éããŸãã
parseã¡ãœãããDateãªããžã§ã¯ããäœæããŸããããã¡ãã¯ãåŒæ°ã®æååãDateãªããžã§ã¯ãã«å€æããŠäœæããããšãããã®ã§ãã
ã³ãŒããšããŠã¯ä»¥äžã®ããã«äœ¿ãããŸãã
require âdateâ
today_str = â2019-02-10â
today = Date.parse(today_str) # 2019幎2æ10æ¥ã®Dateãªããžã§ã¯ããäœæããã
parseã¡ãœããã®åŒæ°ã«æå®ããæååã®å€ãè§£æããŠããã®æ¥ä»ã®Dateãªããžã§ã¯ããäœæããŠããŸãã
ä»ã«ã¯newã¡ãœããã䜿çšãããã®ãããªæ¹æ³ãååšããŸãã
require âdateâ
today = Date.new(2019, 2, 10) # 2019幎2æ10æ¥ã®Dateãªããžã§ã¯ããäœæããã
newã¡ãœããã¯äž»ã«ãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãäœæãããããã«äœ¿ããããã®ã§ãããæ¥ä»ã¯ã©ã¹ã«éããæ§ã
ãªã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãäœæããããšãã§ããŸãã
åŒæ°ã«æå®ããå€ãããšã«Dateãªããžã§ã¯ããäœæããŸãã
parseãnewã¡ãœãããªã©ã®ãããªãåŒæ°ã«å¿ããŠæ¥ä»ã®Dateãªããžã§ã¯ããäœæãããã¡ãœããã¯æ§ã
ãªå Žé¢ã§é »ç¹ã«äœ¿çšãããŸãã
ããããèŠããããšã§ãæ¥ä»ãªããžã§ã¯ãã®äœæãèªç±ã«è¡ãããšãåºæ¥ãããã«ãªããŸãã®ã§ãç©æ¥µçã«äœ¿çšããæè¡ãèªãã®ãã®ã«ããŠãããŸãããã
ãŸããããã§ç޹ä»ãããã®ä»¥å€ã«ããRubyã®ãã¬ãŒã ã¯ãŒã¯ãRuby On Railsãã«ã¯ãæ¥ä»ã®æäœã«é¢ãã䟿å©ãªã¡ãœãããRailsç¬èªã®ãã®ãšããŠããããçšæãããŠããŸãã
ãããRailsç¬èªã®æ¥ä»æäœã¡ãœããã¯ãRubyæ¬æ¥ã®æ¥ä»æäœã¡ãœãããšæ¯èŒããŠãããå¯èªæ§ãå®å
šæ§ã®é«ããã®ãçšæãããŠããåŸåã«ãããããä»åŸåŠç¿ãé²ããéã«ã¯Railsç¬èªã®æ¥ä»æäœã¡ãœããã«ã€ããŠãè§ŠããŠã¿ãããšãããããããŸãã
Dateãªããžã§ã¯ããã幎ãæãªã©ãååŸãã
æåŸã«ãäœæããDateãªããžã§ã¯ããã幎ãæãååŸããã³ãŒãã玹ä»ããŸãã
require âdateâ
today = Date.today
today.year # äœæããDateãªããžã§ã¯ããã幎ãååŸ
today.mon # äœæããDateãªããžã§ã¯ãããæãååŸ
today.mday # äœæããDateãªããžã§ã¯ãããæ¥ãååŸ
today.wday # äœæããDateãªããžã§ã¯ãããææ¥ãæ°åãšããŠååŸ
äžèšã®ããã«ã幎ãæãæ¥ãææ¥ãååŸããã¡ãœãããRubyã®Dateã¯ã©ã¹ã«ã¯æ§ã çšæãããŠããŸããå€ã®ååŸã«ããã£ãŠã¯ããããçšæãããŠããã¡ãœãããå®è¡ããã®ã¿ã§ååŸå¯èœã§ãã
ãã®ä»ã«ãã1æ1æ¥ããã®éç®æ¥ãæŽæ°ã§ååŸããããšãã仿§ã®ãydayãã¡ãœãããªã©ãæ§ã ãªã¡ãœãããçšæãããŠããŸãã®ã§ãèå³ã®ããæ¹ã¯Rubyã®å ¬åŒããã¥ã¡ã³ããªã©ã«ç®ãéããŠã¿ãããšãããããããŸãã
ãŸãšã
Rubyã«ãããæ¥ä»ã¯ã©ã¹ã¯ãrequireã¡ãœããã«ããå€éšãã¡ã€ã«ã§å®çŸ©ãããDateã¯ã©ã¹ãååŸããããšã§ã¯ãããŠäœ¿ããããã«ãªããŸãã
Dateã¯ã©ã¹ã«ã¯Dateãªããžã§ã¯ããäœæããæ§ã
ãªã¡ãœãããçšæãããŠããããããã䜿ãããªãããšã§è€éãªæ¥ä»ã«é¢ããæäœã誀ãããšãªãç°¡åã«è¡ãããšãåºæ¥ãŸãã
ããã°ã©ãã³ã°ã§äœãäœãã«ãããæ¥ä»ãšããæŠå¿µã¯æ¥µããŠé »ç¹ã«ç»å ŽããæŠå¿µã§ãããªã®ã§Dateã¯ã©ã¹ãçšããåçš®æ¥ä»æäœã«ã¯ãã£ãããšç®ãéããå®éã«æãåãããŠã³ãŒããæžããŠã¿ãããšãããããããŸãã
ãã®èšäºã®ããŒã¯ãŒãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
TECH PLAYã§ã¯ãITãšã³ãžãã¢åãã®å匷äŒã»ã€ãã³ãæ å ±ãæäŸããŠããŸããèå³ã®ããæ¹ã¯ãã²ãåå ãã ããã
- ãRubyãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
- ãããã°ã©ãã³ã°ãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
- ãåå¿è ãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã












