목록TIME (4)
준호씨의 블로그
perl에서 기본 제공되는 함수중 sleep은 초단위로 잠깐 동안 동작을 멈추는 함수입니다. 예제를 봅시다. #!/usr/bin/perl use strict; use warnings FATAL => 'all'; use POSIX 'strftime'; sub print_now { my $date = strftime '%Y/%m/%d %H:%M:%S', localtime; print $date."\n"; } print_now(); sleep(1); print_now(); sleep(1); print_now(); sleep(1); 결과는 현재 시각을 출력하고 1초 쉬는 것을 3번 반복합니다. 2021/01/17 21:45:36 2021/01/17 21:45:37 2021/01/17 21:45:38 그런데 만약..
n일 전 날짜 구하기 포스팅 (http://junho85.pe.kr/544) 을 했었는데 aero 님이 perl 5.8 부터 Time::Piece 가 core 모듈로 들어 갔다고 하여 Time::Piece 버전을 만들어 보기로 하였다. 사용하는 모듈이 좀 바꼈고 get_date_ago 함수 내용이 좀 바꼈다. 다른 부분은 동일하다. get_date_ago(ago) 함수는 ago 일 전의 날짜를 yyyy-mm-dd 포멧의 문자열로 반환하는 함수이다. #!/usr/bin/env perl use strict; use warnings; use Time::Piece; use Time::Seconds; sub get_date_ago { my $ago = shift; my $time = Time::Piece->new..
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..