You are not logged in.
Announcement
Unanswered posts
|
Pages: 1

hi
as your routines section have many predefine subroutine and "getDate" is one of them
sub getDate {
my ($format) = @_;
$format = 'DD/MM/CCYY' if not defined $format;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
my %fields = (
CC => int(($year + 1900) / 100),
YY => $year % 100,
MM => $mon + 1,
DD => $mday,
hh => $hour,
mm => $min,
ss => $sec
);
%fields = map {$_ => sprintf('%02u', $fields{$_})} keys %fields;
foreach my $field (keys %fields) {
$format =~ s/$field/$fields{$field}/g;
}
return $format;
}
my input date formate is "03-FEB-59 12.00.00.000000 AM"
can you suggest what change we made so that we can convert it into "02/03/1959"
Offline
Here is a routine doing what you want (I think):
sub AlankarToUsDate {
my ($us_date) = @_;
my %month_number_of = (
JAN => 1,
FEB => 2,
MAR => 3,
APR => 4,
MAY => 5,
JUN => 6,
JUL => 7,
AUG => 8,
SEP => 9,
OCT => 10,
NOV => 11,
DEC => 12,
);
# '03-FEB-59 12.00.00.000000 AM'
$us_date =~ m/(\d\d)-([a-z]{3})-(\d\d)/i;
my $day = $1;
my $month_name = $2;
my $two_digits_year = $3;
my $four_digits_year = undef;
if ($two_digits_year > 50) {
$four_digits_year = 1900 + $two_digits_year;
}
else {
$four_digits_year = 2000 + $two_digits_year;
}
return sprintf(
'%02u/%02u/%4u',
$month_number_of{$month_name},
$day,
$four_digits_year
);
}Offline

can you tell me how to write code for adding date
e.g
ADD_TO_DATE(SYSDATE, 'YY', -115)
ADD_TO_DATE(SYSDATE, 'DD', 95)
ADD_TO_DATE(SYSDATE, 'MM', 05)
Offline
Hi,
Before install the Date::Calc perl module.
After, you can add to your own routine the following function :
#
# ADD_TO_DATE(Today(), 'YY', -115)
#
sub getDateYY {
use Date::Calc qw/Today Add_Delta_YMD/;
my ($yearNumber, $monthNumber, $dayNumber) = @_;
return sprintf(
"%u%02u%02u",
Add_Delta_YMD(Today(), $yearNumber, $monthNumber, $dayNumber)
);
}#
# ADD_TO_DATE(SYSDATE, 'DD', 95)
#
sub getDateDD {
use Date::Calc qw/Today Add_Delta_YMD/;
my ($yearNumber, $monthNumber, $dayNumber) = @_;
return sprintf(
"%u%02u%02u",
Add_Delta_YMD(Today(), $yearNumber, $monthNumber, $dayNumber)
);
}#
# ADD_TO_DATE(SYSDATE, 'MM', 05)
#
sub getDateMM {
use Date::Calc qw/Today Add_Delta_YMD/;
my ($yearNumber, $monthNumber, $dayNumber) = @_;
return sprintf(
"%u%02u%02u",
Add_Delta_YMD(Today(), $yearNumber, $monthNumber, $dayNumber)
);
}Regards
Offline
Pages: 1