Thread Deutsche Sommer u. Winterzeit in UTC umrechnen (39 answers)
Opened by Speedriff at 2013-11-27 14:51

GwenDragon
 2013-11-28 18:02
#172286 #172286
User since
2005-01-17
14538 Artikel
Admin1
[Homepage]
user image
Das hier funktioniert bei mir:

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
30
31
32
#!/usr/bin/perl

use 5.008;
use strict;
use warnings;

use DateTime;
use IO::All;

my $file = 'test.log';

my $temp < io($file);  

sub conv_dt {
        my ($Day,$Month,$Year,$Hour,$Minute) = @_;
        my $dt = DateTime->new(
                year      => $Year,
                month     => $Month,
                day       => $Day,
                hour      => $Hour,
                minute    => $Minute,
                second    => 0,
                time_zone => 'Europe/Berlin',
        );
        $dt->set_time_zone('UTC');
        return $dt->strftime('%d.%m.%Y %H:%M');
}

$temp =~ s/^(\d\d)\.(\d\d)\.(\d\d\d\d)\s(\d\d):(\d\d)/conv_dt($1,$2,$3,$4,$5)/egm
        if $temp =~ /^(\d\d)\.(\d\d)\.(\d\d\d\d)\s(\d\d):(\d\d)/;

$temp > io("$file-out.log"); 


mit der Eingabedatei test.log:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14.01.2013 17:55;Messwert1;Messwert2;
14.01.2013 18:55;Messwert1;Messwert2;
14.01.2013 19:55;Messwert1;Messwert2;
14.01.2013 20:55;Messwert1;Messwert2;
14.01.2013 21:55;Messwert1;Messwert2;
14.01.2013 22:55;Messwert1;Messwert2;
14.01.2013 23:55;Messwert1;Messwert2;
15.01.2013 00:55;Messwert1;Messwert2;
15.01.2013 01:55;Messwert1;Messwert2;
15.01.2013 02:55;Messwert1;Messwert2;
15.01.2013 03:55;Messwert1;Messwert2;
15.01.2013 04:55;Messwert1;Messwert2;
15.01.2013 05:55;Messwert1;Messwert2;

erzeugt dann test-out.log
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14.01.2013 16:55;Messwert1;Messwert2;
14.01.2013 17:55;Messwert1;Messwert2;
14.01.2013 18:55;Messwert1;Messwert2;
14.01.2013 19:55;Messwert1;Messwert2;
14.01.2013 20:55;Messwert1;Messwert2;
14.01.2013 21:55;Messwert1;Messwert2;
14.01.2013 22:55;Messwert1;Messwert2;
14.01.2013 23:55;Messwert1;Messwert2;
15.01.2013 00:55;Messwert1;Messwert2;
15.01.2013 01:55;Messwert1;Messwert2;
15.01.2013 02:55;Messwert1;Messwert2;
15.01.2013 03:55;Messwert1;Messwert2;
15.01.2013 04:55;Messwert1;Messwert2;


Wo ich bei dem Beispiel für dich einen Fehler drin haben kann, versteh ich gerade nicht.
Vielleicht weiß ja jemand wo's dran hakt.
Last edited: 2013-11-28 18:12:51 +0100 (CET)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread Deutsche Sommer u. Winterzeit in UTC umrechnen