Schrift
[thread]7890[/thread]

strftime: problem mit einstelligem Tag

Leser: 1


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
galaxy
 2006-04-13 13:49
#64902 #64902
User since
2006-04-03
30 Artikel
BenutzerIn
[default_avatar]
Hallo,

in einer Datei, welche ich auslese steht unter anderem ein Datum drin. Dieses prüfe ich.

es hat das Format(in der Datei): 7-Apr-06

Jetzt will ich mir mit perl ein entsprechendes Datum zum Vergleich generieren.

Aber da scheitere ich irgendwie.
Das
my $date_in_file2 = strftime ("%e-%b-%y",localtime($unix_date_in_file2));
erzeugt
-Apr-06
und das obere mit %d statt %e erzeugt
07-Apr-06

kann mir dabei jemand helfen?

Danke für Tipps
Crian
 2006-04-13 13:52
#64903 #64903
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Schau dir mal Date::Calc an, wenn das vielleicht auch mit Kanonen auf Spatzen geschossen ist.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
nepos
 2006-04-13 14:30
#64904 #64904
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Eigentlich sollte das %e eine 7 mit fuehrenden Leerzeichen erzeugen und keinen leeren String.
Was es bei mir auch macht.
galaxy
 2006-04-13 14:52
#64905 #64905
User since
2006-04-03
30 Artikel
BenutzerIn
[default_avatar]
îch könnte doch einfach das datum mit der 07 also mit %d erzeugen und dann die 0 "abschneiden".
Leider finde ich aber keine Funktion, welche das erste Zeichen des Strings entfernt
Crian
 2006-04-13 14:54
#64906 #64906
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Was ist strftime eigentlich für eine Funktion? Über die finde ich weder etwas im Kamelbuch (jedenfalls nicht im Index) noch antwortet mir Perl auf perldoc -f strftime?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
galaxy
 2006-04-13 15:03
#64907 #64907
User since
2006-04-03
30 Artikel
BenutzerIn
[default_avatar]
sie ist beispielseise hier aufgeführt:
http://perldoc.perl.org/functions/localtime.html

Stammt aus dem Modul Posix und soll das Datum formatieren können. Doch mit der führenden 0 habe ich so meine Probleme
galaxy
 2006-04-13 15:15
#64908 #64908
User since
2006-04-03
30 Artikel
BenutzerIn
[default_avatar]
Also mit dem Date::Calc weiss ich nicht wie man den String so formatiert ausgeben kann wie ich das gerne möchte. Habe zwar die Beispiele gelesen, aber so ganz schlau werde ich daraus nicht.

Gibt es keine Funktion mit der man den ersten Buchstaben eines Strings auslesen kann?
Dann könnte ich ja darauf reagieren und sagen wenn es eine 0 ist, dann mach sie weg.
Taulmarill
 2006-04-13 15:36
#64909 #64909
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
strftime kommt aus dem Core-Modul POSIX. da das nur eine schnittstelle ist, liegt das problem in der c-lib auf dem system. da kann perl leider nicht helfen.
die erste 0 im string könnte man z.b. mit einem regex entfernen
$date =~ s/^0/ /;
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
renee
 2006-04-13 23:19
#64910 #64910
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=galaxy,13.04.2006, 13:15]Also mit dem Date::Calc weiss ich nicht wie man den String so formatiert ausgeben kann wie ich das gerne möchte. Habe zwar die Beispiele gelesen, aber so ganz schlau werde ich daraus nicht.
[/quote]Du könntest auch mit sprintf (siehe perldoc -f sprintf) arbeiten
Quote

Gibt es keine Funktion mit der man den ersten Buchstaben eines Strings auslesen kann?
Dann könnte ich ja darauf reagieren und sagen wenn es eine 0 ist, dann mach sie weg.

Code: (dl )
my $string = substr($string,1) if($string =~ /^0/)
\n\n

<!--EDIT|renee|1144955985-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sid burn
 2006-04-14 21:34
#64911 #64911
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=renee,13.April.2006, 21:19]
Code: (dl )
my $string = substr($string,1) if($string =~ /^0/)
[/quote]
Folgendes finde ich etwas leichter:

Code: (dl )
$string =~ s/^0//;


EDIT:
Ups, taulmarills Posting überlesen.\n\n

<!--EDIT|sid burn|1145036304-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2006-04-13 13:49.