Guest User

Untitled

a guest
May 20th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. # last day of month
  2.  
  3. ## Perl
  4.  
  5. ### array
  6.  
  7. $ perl -e '@d=qw(31 28 31 30 31 30 31 31 30 31 30 31);
  8. ($y,$m)=@ARGV;
  9. warn $m--==2?$d[$m]+($y%4==0)-($y%100==0)+($y%400==0):$d[$m]' 2010 2
  10. 28 at -e line 1.
  11.  
  12. ### Time::Piece
  13.  
  14. $ perl -MTime::Piece -e '
  15. warn Time::Piece->strptime(join(" ",@ARGV),"%Y %m")->month_last_day' 2010 2
  16. 28 at -e line 1.
  17.  
  18. ### DateTime
  19.  
  20. $ perl -MDateTime -e '
  21. warn DateTime->last_day_of_month(year=>shift,month=>shift)->day;' 2010 2
  22. 28 at -e line 1.
  23.  
  24. ### Date::Calc
  25.  
  26. $ perl -MDate::Calc -e '
  27. warn Date::Calc::Days_in_Month(@ARGV)' 2010 2
  28. 28 at -e line 1.
  29.  
  30. sfujiwara++
  31.  
  32. ## memo
  33.  
  34. ### leap year
  35.  
  36. * 2010 2 -> 28
  37. * 2010 2 -> 29 (PS3)
  38. * 2012 2 -> 29
  39. * 2100 2 -> 28
  40. * 2400 2 -> 29
Add Comment
Please, Sign In to add comment