Thread Addition von Geschäftstagen (25 answers)
Opened by tejste at 2013-07-22 10:17

Gustl
 2013-07-22 10:55
#168978 #168978
User since
2011-01-27
441 articles
BenutzerIn
[Homepage]
user image
Hallo,

ich habe das mal so gelöst, geht aber bestimmt auch einfacher. :)

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use strict;
use POSIX; 

print "Tag: ".get_time( get_add_day(time, 10) );

sub get_add_day{
  my $start_time = shift;
  my $adddays = shift;

  foreach(1..$adddays){    
    $start_time += 24 * 60 * 60;       # addiert einen Tag
    while(!is_week_day($start_time)){  # wenn der Tag kein Werktag ist -> addiere einen Tag
      $start_time += 24 * 60 * 60;
    } 
  }
  return $start_time; 
}

sub is_week_day{
  my $Wochentag = (localtime(shift))[6];
  if($Wochentag == 0 || $Wochentag == 6){
    return 0;
  }  
  return 1;
}

sub get_time{
  return strftime "%d.%m.%Y %H:%M:%S", localtime(shift);
}


Hab dazu eine Aufgabe auf meiner Seite erstellt:
http://trainyourprogrammer.de/perl-53-bei-addition...

Gruß
Last edited: 2013-07-22 11:20:38 +0200 (CEST)

View full thread Addition von Geschäftstagen