 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
14.01.2006, 11:58
|
#1
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Hallenberg/Würzburg
|
[PERL] Diesmal geht es um Modulo
Nachdem ich die Sache mit dem Selectrow in den Griff bekommen habe, muß ich feststellen das meine Datumsumwandlung nicht mehr funktioniert.
Das datum ist als timestamp in der my-sql-Datenbank gespeichert. Dieses wandle ich um mit Hilfe von Modulo in ein "Menschen"-Datum.
Lokal schnurrt es einwandfrei, sobald ich es auf den komischen Strato-Server schiebe, bekomme ich nur die Jahres-Zahl angezeigt.
War der Meinung das Modulo, allgemein zu Perl gehört, oder ist es ein extra Modul ?
Skriptausschnitt:
PHP-Code:
my $jahr = $hashref->{"datum"} / 10000000000;
my $jahrModulo = $hashref->{"datum"} % 10000000000;
my $monat = $jahrModulo / 100000000;
my $jahrModulo = $jahrModulo % 100000000;
my $tag = $jahrModulo / 1000000;
# Ausgabe des umgewandelten Datums
if ($tag <= 9)
{
printf("%02d", $tag);
}
else
{
printf("%2d", $tag);
}
print (".");
if ($monat <= 9)
{
printf("%02d", $monat);
}
else
{
printf("%2d", $monat);
}
print (".");
printf("%u", $jahr);
Link zur Online-Seite
gruss
mg
|
|
|
14.01.2006, 12:21
|
#2
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Hi mg,
das scheint mir etwas zu kompliziert zu sein. Ich mache das so:
Code:
($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
$Jahr+=1900;
$Monat+=1;
$Jahrestag+=1;
versuche es mal 
|
|
|
14.01.2006, 17:26
|
#3
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Hallenberg/Würzburg
|
localtime ist doch eine funktion um die aktuelle zeit zu ermitteln oder ?
ich lese ja nur aus der datenbank ein datenfeld aus, dieses ein timestamp ist.
==> der inhalt des datenfeld datum entsteht, wenn ich in die DB einen neuen eintrag mache.
|
|
|
14.01.2006, 19:24
|
#4
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
localtime ist ein Funktion, die Du auch nutzen kannst - time ist hier das aktuelle Datum.
Du kannst also den timestamp mit localtime in die gewünschte Form bringen.
|
|
|
14.01.2006, 19:32
|
#5
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Hallenberg/Würzburg
|
also wenn ich dich richtig verstanden habe übergebe ich der localtime meinem timestamp mit.
|
|
|
14.01.2006, 19:34
|
#6
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ja - probiers einfach 
|
|
|
14.01.2006, 19:37
|
#7
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Hallenberg/Würzburg
|
okay werde ich tun...aber jetzt gibt es erstmal was fürs bäuchlein
|
|
|
16.01.2006, 10:55
|
#9
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Hallenberg/Würzburg
|
sicher das diese funktioniert in verbindung mit einem timestamp ?
dachte immer das funktioniert nur wenn das datenfeld Date ist.
gruss
mg
|
|
|
16.01.2006, 11:13
|
#10
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
klar geht das, z.B. so:
DATE_FORMAT(FROM_UNIXTIME(datumsfeldmittimestamp),FormatString)
|
|
|
16.01.2006, 14:05
|
#11
|
|
TP-Junior
Registriert seit: Jan 2006
|
Wenn das Feld vom MySQL-Typ Timestamp ist, kannst du dir die Umrechnerei mit von Unixtimestamp sparen.
|
|
|
20.01.2006, 08:02
|
#12
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: Hallenberg/Würzburg
|
also date_format habe ich gestern mal local getestet, funktioniert einwandfrei.
mal sehen ob es auch auf dem strato-webspace funktioniert, werde ich am we mal ausprobieren
vielen dank für die hilfe
gruss
matthias
|
|
|
24.01.2006, 06:23
|
#13
|
|
TP-Member
Registriert seit: Apr 2003
|
Code:
if ($tag <= 9)
{
printf("%02d", $tag);
}
else
{
printf("%2d", $tag);
}
Hat zwar nix direkt mit der Frage zu tun, aber das ist auch zu kompliziert. Es reicht ein einfaches
Code:
printf("%02d",$tag);
Das macht schon das was Du willst...
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 02:10 Uhr.
|
 |