/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Konvertering af dato og tid
Fra : Jes Søndergaard


Dato : 15-02-01 21:39

Jeg modtager dato og tid i følgende format:
Thu, 15 Feb 2001 13:30:46 +0100

og ønsker at konvertere det til følgende format:
15.02.01 13.30 (betyder +0100 at det bliver 14.30?)

Hvordan løser jeg denne konvertering mest elegant?
Kan jeg drage nytte af nogle af dato- og tidsfunktionerne eller er substr()
simpelthen løsningen?

Mvh.
Jes Søndergaard



 
 
Anders Johannsen (15-02-2001)
Kommentar
Fra : Anders Johannsen


Dato : 15-02-01 22:54

> Kan jeg drage nytte af nogle af dato- og tidsfunktionerne eller er
substr()
> simpelthen løsningen?

1) Brug et regulært udtryk eller substr() til at hive de enkelte værdier ud
2) Brug mktime til at skabe et timstamp
3) Brug date() eller strftime() til at formatere datoen som du lyster

F.eks.

<?php

function date2timestamp($strDate) {

preg_match("/([0-9]{2}) ([a-z]{3}) ([0-9]{4})
([0-9]{2}):([0-9]{2}):([0-9]{2})/i", $strDate, $regs);

$arrMonths = array ("Jan" => 1,
"Feb" => 2,
"Mar" => 3,
"Apr" => 4,
"Mai" => 5,
"Jun" => 6,
"Jul" => 7,
"Aug" => 8,
"Sep" => 9,
"Oct" => 10,
"Nov" => 11,
"Dec" => 12
);

return mktime($regs[4], $regs[5], $regs[6], $arrMonths[$regs[2]],
$regs[1], $regs[3]);


}



$strDate = "Thu, 15 Feb 2001 13:30:46 +0100";

$daDate = date2timestamp($strDate);

echo strftime("%d.%m.%y %R", $daDate);

?>

/A



Bo Meyer (16-02-2001)
Kommentar
Fra : Bo Meyer


Dato : 16-02-01 11:20

> Jeg modtager dato og tid i følgende format:
> Thu, 15 Feb 2001 13:30:46 +0100
>
> og ønsker at konvertere det til følgende format:
> 15.02.01 13.30 (betyder +0100 at det bliver 14.30?)
>
> Hvordan løser jeg denne konvertering mest elegant?

fil = s2t.php:

<?
$streng = "Thu, 15 Feb 2001 13:30:46 +0100";
$dato = strtotime($streng);
echo strftime("%d.%m.%y %H.%M", $dato), "\n";
?>

php -q s2t.php
15.02.01 13.30

--
Bo Meyer

Jes Søndergaard (16-02-2001)
Kommentar
Fra : Jes Søndergaard


Dato : 16-02-01 12:47

"Bo Meyer" <bmeyer@relief.dk> skrev bl.a.:
> $streng = "Thu, 15 Feb 2001 13:30:46 +0100";
> $dato = strtotime($streng);
> echo strftime("%d.%m.%y %H.%M", $dato), "\n";

Hehe, noget mere enkel løsning end Anders' eksempel.
Om strtotime() står der "Parse about any english textual datetime
description into a UNIX timestamp". Det vil altså sige at man kan smide
næsten alle mulige dato- og tidsformater ind i funktionen?
- Genial funktion

Mvh.
Jes Søndergaard



Anders Johannsen (16-02-2001)
Kommentar
Fra : Anders Johannsen


Dato : 16-02-01 17:58

> Hehe, noget mere enkel løsning end Anders' eksempel.

Man skal aldrig springe over hvor gærdet er lavest...

/A



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste