#!/usr/local/perl5.12.2/bin/perl
#Author:
# Hyper Lau <[email protected]>
#Website:
# http://heidern.cublog.cn
#File:
# unix_time.pl
#Create Date:
# Wed 17 Nov 2010 04:42:07 PM CST
use strict;
use warnings;
use Time::Local;
$|=1;
my $old_date_Y='2010';
my $old_date_M='09';
my $old_date_D='20';
# when you want to convert time to unixstamp,don't add 1 to month!!
my $old_date_unix=timelocal(0,0,0,$old_date_D,$old_date_M-1,$old_date_Y);
my $old_date=$old_date_Y.$old_date_M.$old_date_D;
my ($now_date_Y,$now_date_M,$now_date_D)=get_now_date();
my $now_date=$now_date_Y.$now_date_M.$now_date_D;
my $now_date_unix=get_now_date_unix();
while ($old_date_unix <= $now_date_unix) {
print "now date is $now_date , unixstamp is $now_date_unix\n";
print "old date is $old_date , unixstamp is $old_date_unix\n";
print "processing ".get_time($old_date_unix)." data...\n";
<STDIN>;
print "process ok! \n";
$old_date_unix+=86400;
}
print "===========ALL PROCESSED!!===========\n";
sub get_time {
# in unixstamp
# out "YYYY-MM-DD HH:mm:SS"
my ($time)=@_;
$time=time until (defined($time));
my @time_format = (localtime($time))[5,4,3,2,1,0];
$time_format[0] += 1900;
$time_format[1] += 1;
foreach $_(@time_format) {
$_ = sprintf("%02d", $_);
}
my $cur_time = "$time_format[0]-$time_format[1]-$time_format[2] $time_format[3]:$time_format[4]:$time_format[5]";
return($cur_time);
}
sub get_now_date {
# in normal
# out now date(YYYY-MM-DD)
my @time_format = (localtime())[5,4,3];
$time_format[0] += 1900;
$time_format[1] += 1;
foreach $_(@time_format) {
$_ = sprintf("%02d", $_);
}
return($time_format[0],$time_format[1],$time_format[2]);
}
sub get_now_date_unix {
# in normal
#out unixstamp of now date(YYYY,MM,DD)
my @time_format = (localtime())[5,4,3];
$time_format[0] += 1900;
# WARNING!! when you want to convert time to unixstamp,don't add 1 to month!!
# $time_format[1] += 1;
foreach $_(@time_format) {
$_ = sprintf("%02d", $_);
}
my $cur_date_unix=timelocal(0,0,0,$time_format[2],$time_format[1],$time_format[0]);
return($cur_date_unix);
}
|