User since
2007-05-26
11
Artikel
BenutzerIn
Hallo zusammen,
ich muß jetzt nur noch eine Kleinigkeit lösen.
In dieser Zeile soll hinten noch die aktuelle Uhrzeit landen:
<submissionTimeStamp>2007-05-28T18:00:00+01:00</submissionTimeStamp>
Das Einfügen des aktuellen Datums habe ich ja noch hinbekommen,
komischerweise habe ich für die genaue Uhrzeit noch keine Lösung gfunden.
Die entsprechende Stelle im Script sieht so aus:
# Original
# my $today_date = $cdate{day}.$cdate{month}.substr($cdate{year},-2);
# Eigene Version
my $today_date = $cdate{year}. $cdate{month}. $cdate{day};
# my $today_date = "$date";
# my $now_string = $strftime{%H};
# my $now_string = $localtime(time);
my $batch_content = "<submissionTimeStamp>". $cdate{year}."-". $cdate{month}."-". $cdate{day}."T18:00:00+01:00</submissionTimeStamp> \n" .
my $result_amount = 0;
my $number_of_c_records = 0;
Hat von Euch vielleicht jemand eine Idee, wie ich das lösen kann?
Hertlichen Dank und liebe Grüße
Manfred\n\n
<!--EDIT|ManfredG.|1180315021-->
User since
2006-11-16
258
Artikel
BenutzerIn
[quote=ManfredG.,28.05.2007, 03:10]In dieser Zeile soll hinten noch die aktuelle Uhrzeit landen:
<submissionTimeStamp>2007-05-28T18:00:00+01:00</submissionTimeStamp>[/quote]
Willst Du wirklich diese etwas (finde ich) ungewohnte Darstellung der Uhrzeit?
Ich emfinde ästhetisch schöner:
# ungetestet:
my ($strSec, $strMin, $strHour, $strDay, $strMonth, $strYear) = (localtime)[0,1,2,3,4,5];
my $strJetzt = sprintf("Jetzt haben wir den %02d.%02d.%04d und %02d:%02d:%02d Uhr", $strDay, $strMonth + 1, $strYear + 1900, $strHour, $strMin, $strSec);
print "$strJetzt\n";
User since
2005-08-17
1420
Artikel
BenutzerIn
Das ginge mit dem Modul
POSIX und der Funktion strftime etwas einfacher.
User since
2003-08-04
2145
Artikel
ModeratorIn + EditorIn
Ich würde auch
strftime aus
POSIX empfehlen:
use POSIX qw/strftime/;
print strftime("%FT%H:%M:%S%z", localtime);
__END__
2007-05-28T12:09:27+0200
Leider gibt's (noch) keine eingebaute Funktion in Perl, um so einen ISO 8601 Timestamp zu erzeugen. Wie ich irgendwo gelesen habe, soll Perl 6 sich aber an ISO 8601 orientieren, und nicht mehr am ctime(3)-Format.