Module to format dates in the correct manner.

This commit is contained in:
wolfpac444 2003-03-26 02:48:59 +00:00
parent 333fe196a5
commit feb424a443
1 changed files with 90 additions and 0 deletions

90
C4/Date.pm Normal file
View File

@ -0,0 +1,90 @@
#!/usr/bin/perl -w
package C4::Date;
use strict;
use C4::Context;
use Date::Manip;
require Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
$VERSION = 0.01;
@ISA = qw(Exporter);
@EXPORT = qw(
&display_date_format
&format_date
);
sub get_date_format
{
#Get the database handle
my $dbh = C4::Context->dbh;
#Query the database to get the dateformat
my $sth = $dbh->prepare("SELECT value FROM systempreferences WHERE variable='dateformat'");
$sth->execute();
my ($dateformat) = $sth->fetchrow;
return $dateformat
}
sub display_date_format
{
my $dateformat = get_date_format();
if ( $dateformat eq "us" )
{
return "mm/dd/yyyy";
}
elsif ( $dateformat eq "metric" )
{
return "dd/mm/yyyy";
}
elsif ( $dateformat eq "iso" )
{
return "yyyy-mm-dd";
}
else
{
return "Invalid date format: $dateformat. Please change in system preferences";
}
}
sub format_date
{
my $olddate = shift;
my $newdate;
my $dateformat = get_date_format();
if ( $dateformat eq "us" )
{
$olddate = ParseDate($olddate);
$newdate = UnixDate($olddate,'%m/%d/%Y');
}
elsif ( $dateformat eq "metric" )
{
$olddate = ParseDate($olddate);
$newdate = UnixDate($olddate,'%d/%m/%Y');
}
elsif ( $dateformat eq "iso" )
{
$olddate = ParseDate($olddate);
$newdate = UnixDate($olddate,'%Y-%m-%d');
}
else
{
return "Invalid date format: $dateformat. Please change in system preferences";
}
}
1;