Thread datums vergleich: vergleichen von datums (33 answers)
Opened by fraggs at 2006-09-14 10:51

vayu
 2006-09-14 11:39
#69868 #69868
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
ich hab doch oben nen hash mit Monaten und den zugehörigen Monatszahlen gebaut. da such ich mir die richtige raus.

und in dem sorted hash stehen die Versionen drin sortiert nach ihrem timestamp.

ich habs nochmal erweitert, dass du zu der version auch das lesbare datum im hash stehen hast

Allerdings brauchst du bei mir auch das Date::Calc modul. wenn du unter windows arbeitest einfach in der konsolo

ppm install Date::Calc eingeben.

Code: (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
33
34
35
36
37
38
39
#!/usr/bin/perl

use strict;
use warnings;
use Date::Calc qw(Date_to_Time);
use Data::Dumper;
$Data::Dumper::Sortkeys = 1;

my @lines = ("AUDIO2-A3.12_P1:project:BmwWtz#1 Wed May 31 13:35:31 2006",
"AUDIO2-A3.17_P1:project:BmwWtz#1 Wed Sep 13 11:22:57 2006",
"AUDIO2-A3.8:project:BmwWtz#1 Mon May 08 18:18:02 2006");

my %months = ( "Jan" => "1",
"Feb" => "2",
"Mar" => "3",
"Apr" => "4",
"May" => "5",
"Jun" => "6",
"Jul" => "7",
"Aug" => "8",
"Sep" => "9",
"Oct" => "10",
"Nov" => "11",
"Dec" => "12"
);

my %sort_dates = ();

foreach my $line (@lines) {
if( $line =~ /(.*#[0-9])\s+[a-zA-Z]{3} ([a-zA-Z]{3}) (\d{1,2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})$/ ) {
my $version = $1;
my $date = $7.$months{$2}.$3.$4;
my $time = Date_to_Time($7, $months{$2}, $3, $4, $5, $6);
$sort_dates{$time}{'version'} = $version;
$sort_dates{$time}{'date'} = "$7/".$months{$2}."/$3";
}
}

print Dumper \%sort_dates;


edit: hatte da noch ein exit 1; drin /blush\n\n

<!--EDIT|vayu|1158221092-->

View full thread datums vergleich: vergleichen von datums