열심히 소스를 찾아봤는데 잘 없더라.. 특히 한글자료는 그래서 구글링의 결과로 구한 소스를 약간 수정해서 올리니 참고하기 바람. 아.. 그리고 사용전 아래 주의 사항을 꼭!! 읽어보기 바람.


주의 사항

  1. 참고로, 이메일 전송시 recieved from 헤더에 사용되는 order 에 따라 만들었으니 date type 의 정렬 순서는 알아서 조절해야 함.
  2. use POSIX;
  3. 마지막으로 이거 unix_timestamp 를 date type 으로 바꿔주는 거 아니다. 그 반대다. 그거는 localtime 이나 ctime, time 등 함수를 참고할 것.


Source Code

 1 #!/usr/local/bin/perl -w
 2
 3 use strict;
 4 use POSIX;
 5
 6 # Wed, 23 May 2007 10:24:48 GMT
 7 # Wed, 23 May 2007 05:29:10 +0900
 8 # 23 May 2007 00:02:28 -0000
 9 # Tue, 22 May 2007 21:47:39 +0200 (CEST)
10 my $inputDate = "Wed, 23 May 2007 10:24:48 GMT";
11 my @wdays = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
12 my @months = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
13
14 my ($wday, $date, $month, $year, $time, $zone) = split(/\s/, $inputDate);
15 my ($hour, $min, $sec) = split(/\:/, $time);
16 $year = $year - 1900;
17 $wday =~ s/,//g;
18
19 for (my $i = 0; $i <= $#wdays; $i++) {
20     if ($wday eq $wdays[$i]) {
21         $wday = $i;
22         last;
23     }
24 }
25 for (my $i = 0; $i <= $#months; $i++) {
26     if ($month eq $months[$i]) {
27         $month = $i;
28         last;
29     }
30 }
31
32 print "Timpstamp : " . POSIX::mktime($sec, $min, $hour, $date, $month, $year, $wday, 0, -1) . "\n";
33
print "Present Timestamp : " . time();
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 왕구라

트랙백 주소 :: http://gooranet.tistory.com/trackback/105

댓글을 달아 주세요