Notice
Recent Posts
Recent Comments
준호씨의 블로그
perl - n일 전 날짜 구하기 본문
반응형
time() 함수를 이용하면 epoch time 을 얻을 수 있다. 초 단위 이기 때문에 하루치의 초 (24 * 60 * 60) 만큼을 빼면 어제의 시간을 구할 수 있다.
아래의 get_date_ago(ago) 함수는 ago 일 전의 날짜를 yyyy-mm-dd 포멧의 문자열로 반환하는 함수이다.
#!/usr/bin/env perl
use strict;
use warnings;
use POSIX qw/strftime/;
sub get_date_ago {
my $ago = shift;
my $epoc = time();
$epoc = $epoc - (24 * 60 * 60) * $ago;
my $datestring = strftime "%F", localtime($epoc);
return $datestring;
}
사용예는 다음과 같다.
for (my $i = 1; $i < 30; $i++) {
my $date = get_date_ago($i);
print $date."\n";
}
결과는 다음과 같이 나온다.
2016-11-21
2016-11-20
...
2016-11-02
2016-11-01
2016-10-31
2016-10-30
...
2016-10-25
2016-10-24
날짜 포멧을 yyyymmdd 로 바꾸고 싶으면 %F 대신 "%Y%m%d" 를 넣으면 된다.
참고
반응형
'개발이야기' 카테고리의 다른 글
mysql - show processlist 에 where 조건 사용하기 (0) | 2016.11.24 |
---|---|
perl - n일 전 날짜 구하기. Time::Piece 모듈 이용 (0) | 2016.11.23 |
swift - closures (클로저) (2) | 2016.11.21 |
perl - regex escape search string (0) | 2016.11.19 |
handlebars - server 와 client 동시에 사용하기 (2) | 2016.11.19 |
Comments