오늘의 날짜가 1일인데 어제날짜를 구해야하는 프로그램을 짜야할떄..
어제가 30일인지 31일인지.. 또는 2월이 윤달인지 아닌지 참 헷갈리고 수동으로짜야하면 노가다임..ㅠㅠ
그럴때~! 응용하면 되는 프로그램!! ㅎㅎ
use Time::Local;
sub get_yesterday($$$)
{
my ($y, $m, $d) = @_; #년도, 월, 일을 입력받는다.(날짜지정해서쓸때만 인자받음)
my ($sec, $min, $hour, $mday, $mon, $year) = (0,0,0,$d,$m-1,$y-1900); #날짜지정해서 쓸때
#my ($sec, $min, $hour, $mday, $mon, $year) = localtime(); #그냥 현재날짜만 쓸때
my $yesterday_midday=timelocal(0,0,0,$mday,$mon,$year) - 60*60*24;
($sec, $min, $hour, $mday, $mon, $year) = localtime($yesterday_midday);
my $YesterdaysDate = sprintf("%4d%02d%02d", $year+1900, $mon+1, $mday);
return $YesterdaysDate;
}
리턴값 : 20120201 (오늘날짜가 2월2일이라면..)
'업무 > Perl' 카테고리의 다른 글
[perl] DBD-mysql 모듈 경로지정해서 설치하기 (0) | 2012.02.20 |
---|---|
[perl] 핸들변수 함수인자로 넘겨버리기 (0) | 2012.02.02 |
[perl] 화면지우기 (0) | 2012.01.31 |
[perl] A~ Z까지 순차적으로 출력하기 (0) | 2011.12.15 |
[perl] unixtime 을 형식에 맞게 변환(지정된날) (0) | 2011.11.25 |