Tivoli::DateTime - Perl Extension for Tivoli


Tivoli documentation Contained in the Tivoli distribution.

Index


Code Index:

NAME

Top

	Tivoli::DateTime - Perl Extension for Tivoli

SYNOPSIS

Top

	use Tivoli::DateTime;




VERSION

Top

	v0.03

LICENSE

Top

	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

Top

	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

	Description of 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

Plattforms and Requirements

	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

Top

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

SEE ALSO

Top

	CPAN
	http://www.perl.com


Tivoli documentation Contained in the Tivoli distribution.
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