Tivoli::DateTime - Perl Extension for Tivoli
Index
Code Index:
NAME

Tivoli::DateTime - Perl Extension for Tivoli
SYNOPSIS

VERSION

LICENSE

Copyright (c) 2001 Robert Hase.
All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
DESCRIPTION

This Package will handle about everything you may need for displaying the date / time.
If anything has been left out, please contact me at
kmeltz@cris.com , tivoli.rhase@muc-net.de
so it can be added.
DETAILS
d = dot, s = slash, m = minus
ROUTINES
YYYYMMDD
- * DESCRIPTION
-
Returns YYYYMMDD
- * CALL
-
$Var = &YYYYMMDD;
- * SAMPLE
-
$Var = &YYYYMMDD;
$Var = 20010804
YYYYMMDDHHMMSS
- * DESCRIPTION
-
Returns YYYYMMDDHHMMSS
- * CALL
-
$Var = &YYYYMMDDHHMMSS;
- * SAMPLE
-
$Var = &YYYYMMDDHHMMSS;
$Var = 20010804134527
HHdMMdSS
- * DESCRIPTION
-
Returns HHdMMdSS
- * CALL
-
$Var = &HHdMMdSS;
- * SAMPLE
-
$Var = &HHdMMdSS;
$Var = 13.45.27
YYYYmMMmDD
- * DESCRIPTION
-
Returns YYYYmMMmDD
- * CALL
-
$Var = &YYYYmMMmDD;
- * SAMPLE
-
$Var = &YYYYmMMmDD;
$Var = 2001-08-04
DDdMMdYYYY
- * DESCRIPTION
-
Returns DDdMMdYYYY
- * CALL
-
$Var = &DDdMMdYYYY;
- * SAMPLE
-
$Var = &DDdMMdYYYY;
$Var = 04.08.2001
DDmMMmYYYY
- * DESCRIPTION
-
Returns DDmMMmYYYY
- * CALL
-
$Var = &DDmMMmYYYY;
- * SAMPLE
-
$Var = &DDmMMmYYYY;
$Var = 04-08-2001
EpocheSS
- * DESCRIPTION
-
Returns EpocheSS since 1970-01-01 00:00.00
- * CALL
-
$Var = &EpocheSS;
- * SAMPLE
-
$Var = &EpocheSS;
$Var = 78762323109843
EpocheSS2DdMdYYYY
- * DESCRIPTION
-
Converts the given Epoche-Seconds to DdMdYYYY
- * CALL
-
$Var = &EpocheSS2DdMdYYYY(78762323109843);
- * SAMPLE
-
$Var = &EpocheSS2DdMdYYYY(78762323109843);
$Var = 04.08.2001
EpocheSS2DdMdYYYYsHdMdS
- * DESCRIPTION
-
Converts the given Epoche-Seconds to DdMdYYYYsHdMdS
- * CALL
-
$Var = &EpocheSS2DdMdYYYYsHdMdS(78762323109843);
- * SAMPLE
-
$Var = &EpocheSS2DdMdYYYYsHdMdS(78762323109843);
$Var = 04.08.2001/13.45.27
date_split_dot
- * DESCRIPTION
-
Splits the given Dot-Date 04.08.2001 to 04 08 2001
- * CALL
-
$Var = &date_split_dot("04.08.2001");
- * SAMPLE
-
@Arr = &date_split_dot("04.08.2001");
@Arr = qw(04 08 2001);
date_split_minus
- * DESCRIPTION
-
Splits the given Date 04-08-2001 to 04 08 2001
- * CALL
-
$Var = &date_split_minus("04-08-2001");
- * SAMPLE
-
@Arr = &date_split_minus("04-08-2001");
@Arr = qw(04 08 2001);
slash_date
- * DESCRIPTION
-
Returns MM/DD/YYYY
- * CALL
-
$Var = &slash_date;
- * SAMPLE
-
$Var = &slash_date;
$Var = 04/08/2001;
longDateTime
- * DESCRIPTION
-
Returns long DateTime
- * CALL
-
$Var = &longDateTime;
- * SAMPLE
-
$Var = &longDateTime;
$Var = Saturday, 08 04, 2001 at 13:45:27
longDate
- * DESCRIPTION
-
Returns long Date
- * CALL
-
$Var = &longDate;
- * SAMPLE
-
$Var = &longDate;
$Var = Saturday, 08 04, 2001
abr_mon
- * DESCRIPTION
-
Returns abbreviation of Month
- * CALL
-
$Var = &abr_mon;
- * SAMPLE
-
$Var = &abr_mon;
$Var = Aug
abr_day
- * DESCRIPTION
-
Returns abbreviation of Day
- * CALL
-
$Var = &abr_day;
- * SAMPLE
-
$Var = &abr_day;
$Var = Sat
month
- * DESCRIPTION
-
Returns Nr of Month
- * CALL
-
$Var = &month;
- * SAMPLE
-
$Var = &month;
$Var = 08
day
- * DESCRIPTION
-
Returns Nr of Day
- * CALL
-
$Var = &day;
- * SAMPLE
-
$Var = &day;
$Var = 6
month_num
- * DESCRIPTION
-
Returns Nr of Month
- * CALL
-
$Var = &month_num;
- * SAMPLE
-
$Var = &month_num;
$Var = 8
day_num
- * DESCRIPTION
-
Returns Nr of Day
- * CALL
-
$Var = &day_num;
- * SAMPLE
-
$Var = &day_num;
$Var = 6
year
- * DESCRIPTION
-
Returns Year
- * CALL
-
$Var = &year;
- * SAMPLE
-
$Var = &year;
$Var = 2001
days_left
- * DESCRIPTION
-
Returns days left in year
- * CALL
-
$Var = &days_left;
- * SAMPLE
-
$Var = &days_left;
$Var = 236
Supported Plattforms and Requirements
- * Plattforms
-
tested on:
- w32-ix86 (Win9x, NT4, Windows 2000)
- aix4-r1 (AIX 4.3)
- Linux (Kernel 2.2.x)
requires Perl v5 or higher
HISTORY
VERSION DATE AUTHOR WORK
----------------------------------------------------
0.01 1999 kmeltz created
0.02 2000-08 RHase several Date / Time Formats
0.03 2001-08-04 RHase POD-Doku added
AUTHOR

kmeltz, Robert Hase
ID : KMELTZ, RHASE
eMail : kmeltz@cris.com, Tivoli.RHase@Muc-Net.de
Web : http://www.Muc-Net.de
SEE ALSO

package Tivoli::DateTime;
our(@ISA, @EXPORT, $VERSION, $Fileparse_fstype, $Fileparse_igncase);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(YYYYMMDD YYYYMMDDHHMMSS HHdMMdSS YYYYmMMmDD DDdMMdYYYY DDmMMmYYYY EpocheSS EpocheSS2DdMdYYYY EpocheSS2DdMdYYYYsHdMdS date_split_dot date_split_minus slash_date longDateTime longDate abr_mon abr_day month day month_num day_num year days_left);
$VERSION = '0.03';
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
@nummonths = ("01","02","03","04","05","06","07","08","09","10","11","12");
@months = ("January","February","March","April","May","June","July","August","September","October","November","December");
@abr_months = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec");
@days = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
@abr_days = ('Sun','Mon','Tues','Wed','Thurs','Fri','Sat');
$year += 1900;
$mday = "0" . $mday if $mday < 10;
$hour = "0" . $hour if $hour < 10;
$min = "0" . $min if $min < 10;
$sec = "0" . $sec if $sec < 10;
################################################################################################
sub YYYYMMDD
{
return($year . @nummonths[$mon] . $mday);
}
sub YYYYMMDDHHMMSS
{
return($year . @nummonths[$mon] . $mday . $hour . $min . $sec);
}
sub HHdMMdSS
{
return("$hour.$min.$sec");
}
sub YYYYmMMmDD
{
return("$year-@nummonths[$mon]-$mday");
}
sub DDdMMdYYYY
{
return("$mday.@nummonths[$mon].$year");
}
sub DDmMMmYYYY
{
return("$mday-@nummonths[$mon]-$year");
}
sub EpocheSS
{
return(time());
}
sub EpocheSS2DdMdYYYY
{
# UNIX-Sek in Datum DMY wandeln
# Syntax: &sek2dat(SECONDS);
$U_SEK = $_[0];
($TAG, $MONAT, $JAHR) = (localtime $U_SEK) [3,4,5];
$MONAT++;
$JAHR += 1900;
return("$TAG.$MONAT.$JAHR");
}
sub EpocheSS2DdMdYYYYsHdMdS
{
# UNIX-Sek in Datum DMYhms wandeln
# Syntax: &sek2dat_time(SECONDS);
$U_SEK = $_[0];
($SEK, $MIN, $STD, $TAG, $MONAT, $JAHR, $WOCH_TAG, $JAHR_TAG, $ISDST) = (localtime $U_SEK);
$MONAT++;
$JAHR += 1900;
return("$TAG.$MONAT.$JAHR/$STD.$MIN.$SEK");
}
sub date_split_dot
{
# Datum xx.xx.xxxx splitten
# Syntax: &date_split_punkt(DATUM);
$DAT_SPLIT = $_[0];
($Tag, $MONAT, $JAHR) = ($DAT_SPLIT =~ /(\d+)\.(\d+)\.(\d+)/);
@DAT_SPLIT = ($TAG, $MONAT, $JAHR);
return(@DAT_SPLIT);
}
sub date_split_minus
{
# Datum xx-xx-xxxx splitten
# Syntax: &dat_split_strich(DATUM);
$DAT_SPLIT = $_[0];
($Tag, $MONAT, $JAHR) = ($DAT_SPLIT =~ /(\d+)-(\d+)-(\d+)/);
@DAT_SPLIT = ($TAG, $MONAT, $JAHR);
return(@DAT_SPLIT);
}
sub slash_date
{
# returns as mm/dd/yy
($ob = $sdate) =~ s/^\d{2}//g;
$sdate = "@nummonths[$mon]/$mday/$year";
return($sdate);
}
sub longDateTime
{
# Syntax: &date_time;
# Returns as DayName, MonthName MonthDay, Year at hour:minute:second
# if ($hour < 10) { $hour = "0$hour"; }
if ($min < 10) { $min = "0$min"; }
if ($sec < 10) { $sec = "0$sec"; }
$date_time = "$days[$wday], $months[$mon] $mday, $year at $hour\:$min\:$sec";
return($date_time);
}
sub longDate
{
# Syntax: &long_date;
# Returns as DayName, MonthName MonthDay, Year
$ldate = "$days[$wday], $months[$mon] $mday, $year";
return($ldate);
}
sub abr_mon
{
# Syntax: &abr_mon;
# Returns abbreviation of Month
return($abr_months[$mon]);
}
sub abr_day
{
# Syntax: &abr_day;
# Returns abbreviation on Day
return($abr_days[$wday]);
}
sub month
{
# Syntax: &month;
# Returns Month name
return($months[$mon]);
}
sub day
{
# Syntax: &day;
# Returns day of week
return($days[$wday]);
}
sub month_num
{
# Syntax: &month_num;
# Returns number of month
return($nummonths[$mon]);
}
sub day_num
{
# Syntax: &day_num;
# Returns number of the day
return($mday);
}
sub year
{
$year = "$year";
return($year);
}
sub days_left
{
return(365 - $yday);
}
###############################################################################################
1; # return true