small improvment
[koha_gimpoz] / C4 / Date.pm
1 #!/usr/bin/perl -w
2
3 package C4::Date;
4
5 use strict;
6 use C4::Context;
7 use Date::Manip;
8
9 require Exporter;
10
11 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
12
13 $VERSION = 0.01;
14
15 @ISA = qw(Exporter);
16
17 @EXPORT = qw(
18              &display_date_format
19              &format_date
20 );
21
22
23
24 sub get_date_format
25 {
26         #Get the database handle
27         my $dbh = C4::Context->dbh;
28         return C4::Context->preference('dateformat');
29 }
30
31 sub display_date_format
32 {
33         my $dateformat = get_date_format();
34
35         if ( $dateformat eq "us" )
36         {
37                 return "mm/dd/yyyy";
38         }
39         elsif ( $dateformat eq "metric" )
40         {
41                 return "dd/mm/yyyy";
42         }
43         elsif ( $dateformat eq "iso" )
44         {
45                 return "yyyy-mm-dd";
46         }
47         else
48         {
49                 return "Invalid date format: $dateformat. Please change in system preferences";
50         }
51 }
52
53
54 sub format_date
55 {
56         my $olddate = shift;
57         my $newdate;
58
59         my $dateformat = get_date_format();
60         
61         if ( $dateformat eq "us" )
62         {
63                 $olddate = ParseDate($olddate);
64                 $newdate = UnixDate($olddate,'%m/%d/%Y');
65         }
66         elsif ( $dateformat eq "metric" )
67         {
68                 $olddate = ParseDate($olddate);
69                 $newdate = UnixDate($olddate,'%d/%m/%Y');
70         }
71         elsif ( $dateformat eq "iso" )
72         {
73                 $olddate = ParseDate($olddate);
74                 $newdate = UnixDate($olddate,'%Y-%m-%d');
75         }
76         else
77         {
78                 return "Invalid date format: $dateformat. Please change in system preferences";
79         }
80 }
81
82 1;