Sunday, December 10, 2006
Perl/펄] 어제 날짜 구하기, 전날 날짜 알아내기; Yesterday Date
어제 날짜를 알기 위해서는, 단순히 오늘 날짜에 -1을 한다고 되는 것이 아니겠지요.
오늘이 1일이라면, 어제 날짜는 30일이 될 수도 있고, 31일이 될 수도 있고, "어제 달", "어제 년"의 문제도 있습니다.
따라서, time 함수로 현재의 "유닉스 타임"을 구한 후, "하루의 초(sec)"에 해당하는
(24 * 60 * 60) = 86400 초
라는 숫자를 빼면 어제 날짜의 유닉스 타임이 구해집니다. 그 유닉스 타임을 날짜로 변환하면, "어제 날짜"가 구해집니다.
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
실행 결과 화면:
(현재 날짜가 2006-01-01일일 경우)
▶▶ Perl/펄] 내일 날짜 구하기, 다음날 날짜 얻기; Tomorrow Date
▶▶ Perl/펄] 오늘 날짜/현재 시간 구하기 함수, 년월일/시분초; Get Print Date Time Current
▶▶ 펄,Perl] 유닉스 시간 구하기, 유닉스 타임(Unix Time; POSIX time)
오늘이 1일이라면, 어제 날짜는 30일이 될 수도 있고, 31일이 될 수도 있고, "어제 달", "어제 년"의 문제도 있습니다.
따라서, time 함수로 현재의 "유닉스 타임"을 구한 후, "하루의 초(sec)"에 해당하는
(24 * 60 * 60) = 86400 초
라는 숫자를 빼면 어제 날짜의 유닉스 타임이 구해집니다. 그 유닉스 타임을 날짜로 변환하면, "어제 날짜"가 구해집니다.
어제 날짜, 어제 년 어제 월 구하기 예제 소스
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/perl
use strict; use warnings;
my $rightnow = time - (24 * 60 * 60);
printf("어제 년: %04d\n", (localtime $rightnow) [5] + 1900 );
printf("어제 월: %02d\n", (localtime $rightnow) [4] + 1 );
printf("어제 일: %02d\n", (localtime $rightnow) [3] );
use strict; use warnings;
my $rightnow = time - (24 * 60 * 60);
printf("어제 년: %04d\n", (localtime $rightnow) [5] + 1900 );
printf("어제 월: %02d\n", (localtime $rightnow) [4] + 1 );
printf("어제 일: %02d\n", (localtime $rightnow) [3] );
실행 결과 화면:
(현재 날짜가 2006-01-01일일 경우)
D:\Z>date /t
2006-01-01 일
D:\Z>0.pl
어제 년: 2005
어제 월: 12
어제 일: 31
D:\Z>
2006-01-01 일
D:\Z>0.pl
어제 년: 2005
어제 월: 12
어제 일: 31
D:\Z>
▶▶ Perl/펄] 내일 날짜 구하기, 다음날 날짜 얻기; Tomorrow Date
▶▶ Perl/펄] 오늘 날짜/현재 시간 구하기 함수, 년월일/시분초; Get Print Date Time Current
▶▶ 펄,Perl] 유닉스 시간 구하기, 유닉스 타임(Unix Time; POSIX time)
tag: perl
Perl | 펄
<< Home