|
| DateTime med dansk opsætning Fra : Thomas P |
Dato : 29-06-01 10:31 |
|
Hej,
For et stykke tid siden fik jeg skrevet denne funktion for mig:
function DanskDato($ind) {
$ud = substr($ind, 8, 2);
$ud .= "/".substr($ind, 5, 2);
$ud .= " ".substr($ind, 0, 4);
return $ud;
}
, der skulle ændre den engelske måde at skrive datoer på til den danske
måde, hvilket da også virker helt perfekt med denne kode. Nu spørger jeg så
(idet jeg ikke selv kan se hvad der sker i koden): Hvordan kan jeg få tiden
med ? Tiden er helt normal, altså timer:minutter:sekunder, den skal bare med
--
- Thomas
~~~~~~~~
.... http://www.FlowCode.f2s.com - where code flows
.... mailto:blomme@post.com - where email goes
| |
Niels (29-06-2001)
| Kommentar Fra : Niels |
Dato : 29-06-01 10:40 |
|
Just as I expected, Thomas P came up with this:
>For et stykke tid siden fik jeg skrevet denne funktion for mig:
Af mig
>function DanskDato($ind) {
>$ud = substr($ind, 8, 2);
>$ud .= "/".substr($ind, 5, 2);
>$ud .= " ".substr($ind, 0, 4);
>return $ud;
>}
Fungerer kun på datoer i formatet "YYYY-MM-DD"
>(idet jeg ikke selv kan se hvad der sker i koden)
substr() funktionen trækker nogen tegn ud af en string (ligesom Copy() i
Pascal). Altså jeg trækker først tegn 9 og 10 ud af input (som er dato)
og sætter dem på output, så sætter jeg en separator på output og så
måneden på output, til sidsten en til separator og så året. Andet sker
der ikke.
Prøv den kode jeg gav dig over ICQ i går
Niels
--
http://www.niller.f2s.com/ - niLLer's pages, that's my software
http://g4s.dnsq.org/ - when I'm online
g4s ad post dot ocm - new email! (note: it's .com !)
ICQ#: 50187323
| |
Thomas P (29-06-2001)
| Kommentar Fra : Thomas P |
Dato : 29-06-01 11:10 |
|
> Af mig
Det er også rigtigt
> substr() funktionen trækker nogen tegn ud af en string (ligesom Copy() i
> Pascal). Altså jeg trækker først tegn 9 og 10 ud af input (som er dato)
> og sætter dem på output, så sætter jeg en separator på output og så
> måneden på output, til sidsten en til separator og så året. Andet sker
> der ikke.
Interessant - det vil sådan set sige at DateTime faktisk bare er en
intelligent afart af en normal string. Tror vist jeg skal til at læse lidt
mere på mine string-operators i PHP
> Prøv den kode jeg gav dig over ICQ i går
Ok ! Det var bare mit indtryk at den kun virkede med et specielt unix
timestamp, men det vil jeg da prøve - jeg takker !
--
- Thomas
~~~~~~~~
.... http://www.FlowCode.f2s.com - where code flows
.... mailto:blomme@post.com - where email goes
| |
Niels (29-06-2001)
| Kommentar Fra : Niels |
Dato : 29-06-01 11:11 |
|
Just as I expected, Thomas P came up with this:
>> Prøv den kode jeg gav dig over ICQ i går
Den ser sådan her ud:
$ud = mktime(substr($ind, 8, 2), substr($ind, 10, 2), substr($ind, 12,
2), substr($ind, 4, 2), substr($ind, 6, 2), substr($ind, 0, 4));
>Ok ! Det var bare mit indtryk at den kun virkede med et specielt unix
>timestamp, men det vil jeg da prøve - jeg takker !
Den laver en TIMESTAMP fra MySQL om til et UNIX timestamp som du kan
bruge PHP's date() funktion til at formattere pænt, prøv at slå mktime()
og date() op i manualen!
Niels
--
http://www.niller.f2s.com/ - niLLer's pages, that's my software
http://g4s.dnsq.org/ - when I'm online
g4s ad post dot ocm - new email! (note: it's .com !)
ICQ#: 50187323
| |
Thomas P (29-06-2001)
| Kommentar Fra : Thomas P |
Dato : 29-06-01 12:42 |
|
*WEEE*
Fandt en funktion i det gamle phorum til at gøre det jeg har ledt efter
function date_format($datestamp){
$tzoffset = 0;
if ($datestamp == "0000-00-00") {
$datestamp = "0000-00-00 00:00:00";
}
list($date,$time) = explode(" ",$datestamp);
list($year,$month,$day) = explode("-",$date);
list($hour,$minute,$second) = explode(":",$time);
$hour = $hour + $tzoffset;
$tstamp = mktime($hour,$minute,$second,$month,$day,$year);
$sDate = date("d-m-y H:i",$tstamp);
return $sDate;
}
Desværre har jeg nu det problem, at datoerne er 1 eller 2 timer for tidligt
på den, idet serveren er lokaliseret andetsteds end Danmark Kan jeg gøre
op med det når jeg INSERT'er now() i mysql_databasen ?
--
- Thomas
~~~~~~~~
.... http://www.FlowCode.f2s.com - where code flows
.... mailto:blomme@post.com - where email goes
| |
Niels (29-06-2001)
| Kommentar Fra : Niels |
Dato : 29-06-01 14:10 |
|
Just as I expected, Thomas P came up with this:
>Desværre har jeg nu det problem, at datoerne er 1 eller 2 timer for tidligt
>på den, idet serveren er lokaliseret andetsteds end Danmark Kan jeg gøre
>op med det når jeg INSERT'er now() i mysql_databasen ?
Du kan jo trække det rigtige fra/lægge det til i kaldet til mktime()
funktionen... det burde give sig selv hvad du skal ændre på
Niels
--
http://www.niller.f2s.com/ - niLLer's pages, that's my software
http://g4s.dnsq.org/ - when I'm online
g4s ad post dot ocm - new email! (note: it's .com !)
ICQ#: 50187323
| |
|
|