]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Locale.pm
Menu: Bei einzelner erp.ini nicht alles umkopieren.
[mfinanz.git] / SL / Locale.pm
index 4cbef16844fad3ba04d3627b1c7b8a7fd31e0276..8495553e8fd4d1a1a1571e04184d8e36ee962920 100644 (file)
@@ -376,6 +376,8 @@ sub parse_date {
 sub parse_date_to_object {
   my ($self, $string, %params) = @_;
 
+  return undef if !defined $string;
+
   $params{dateformat}        ||= $::myconfig{dateformat}   || 'yy-mm-dd';
   $params{numberformat}      ||= $::myconfig{numberformat} || '1,000.00';
   my $num_separator            = $params{numberformat} =~ m{,\d+$} ? ',' : '.';
@@ -439,13 +441,13 @@ sub reformat_date {
 
   my ($yy, $mm, $dd) = $self->parse_date($myconfig, $date);
 
-  $output_format =~ /d+/;
+  $output_format =~ /(d+)/;
   substr($output_format, $-[0], $+[0] - $-[0]) =
-    sprintf("%0" . (length($&)) . "d", $dd);
+    sprintf("%0" . (length($1)) . "d", $dd);
 
-  $output_format =~ /m+/;
+  $output_format =~ /(m+)/;
   substr($output_format, $-[0], $+[0] - $-[0]) =
-    sprintf("%0" . (length($&)) . "d", $mm);
+    sprintf("%0" . (length($1)) . "d", $mm);
 
   $output_format =~ /y+/;
   substr($output_format, $-[0], $+[0] - $-[0]) = $yy;
@@ -472,9 +474,9 @@ sub format_date {
   $yy = $yy % 100 if 2 == $yy_len;
 
   my $format = ref $myconfig eq '' ? "$myconfig" : $myconfig->{dateformat};
-  $format =~ s{ d+ }{ sprintf("%0" . (length($&)) . "d", $dd) }gex;
-  $format =~ s{ m+ }{ sprintf("%0" . (length($&)) . "d", $mm) }gex;
-  $format =~ s{ y+ }{ sprintf("%0${yy_len}d",            $yy) }gex;
+  $format =~ s{ (d+) }{ sprintf("%0" . (length($1)) . "d", $dd) }gex;
+  $format =~ s{ (m+) }{ sprintf("%0" . (length($1)) . "d", $mm) }gex;
+  $format =~ s{ (y+) }{ sprintf("%0${yy_len}d",            $yy) }gex;
 
   $main::lxdebug->leave_sub();