/ 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
formatering af dato/tid
Fra : Thomas G. Larsen


Dato : 17-06-02 11:56

Håber I kan hjlæpe med denne lille ting...I min db har jeg to felter, hvor
det ene indeholder dato'en (yyyy-mm-dd) og et andet felt der indeholder
tidspunkt på formen (tt:mm:ss). Når jeg trækker skidtet ud fra databasen,
ville jer gerne have formateret det på en anden måde i stil med Thursday 29,
2002 @ 21:15:13 eller lignende...

Mit problem er, at jeg ikke præcist kan finde ud af, hvorledes dette skal
formateres, når jeg trækker det ud fra databasen? Er det evt. smartere, at
formatere det i den ønskede form, inden jeg smider det ind i databasen?

Mit script er:

<?php
require ("dbinfo.php");
?>

<html>
<link rel='StyleSheet' href='style.css' type='text/css'>
<body bgcolor="#FBFFEE">
<?php

$link = mysql_connect("$host", "$dbuser")
or die ("Could not connect");
mysql_select_db("$db")
or die ("Could not connect to database");
$result = mysql_query("SELECT * FROM pa_post",$link);

while ($myrow = mysql_fetch_array($result)) {

echo ("<table>");
echo ("<tr><td>" .$myrow["ptitle"]. "</td>");
echo ("<td>" .$myrow['pdate'] .$myrow['ptime'] ."</td></tr><tr>");
echo ("<td>" .$myrow['pbody']. $myrow['pauthor'] ."</td>");
echo ("</table>\n");

}

?>

</body>

</html>


Har fundet dette på php.net, men kan ikke lige gennemskue, hvordan det
virker...

----------------------SNIP---------------------------
if you were trying to convert a mysql format date or time string you could
always do it in the select statement by using DATE_FORMAT and
TIME_FORMAT.
mysql date is 2000-09-07
mysql time is 03:13:27

so...

SELECT DATE_FORMAT(date, '%m.%d.%Y') AS date, TIME_FORMAT(time, '%l.%i
%p') AS time

------------------------SNIP--------------------------

Forsøgte at ændre mit sql-statement til:

$result = mysql_query("SELECT ptitle, DATE_FORMAT(pdate, '%m.%d.%Y') AS
date, TIME_FORMAT(ptime, '%l.%i %p') AS time, pbody, pauthor FROM
pa_post",$link);

Men så returnerer/viser den ikke dato feltet og time feltet, men kun de
andre....

Nogen der kan hjælpe mig videre?

TIA

/Thomas




 
 
Johan Holst Nielsen (17-06-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 17-06-02 12:44



Thomas G. Larsen wrote:
> Håber I kan hjlæpe med denne lille ting...I min db har jeg to felter, hvor
> det ene indeholder dato'en (yyyy-mm-dd) og et andet felt der indeholder
> tidspunkt på formen (tt:mm:ss). Når jeg trækker skidtet ud fra databasen,
> ville jer gerne have formateret det på en anden måde i stil med Thursday 29,
> 2002 @ 21:15:13 eller lignende...
>
> Mit problem er, at jeg ikke præcist kan finde ud af, hvorledes dette skal
> formateres, når jeg trækker det ud fra databasen? Er det evt. smartere, at
> formatere det i den ønskede form, inden jeg smider det ind i databasen?


Jeg ville formatere det efter jeg trak det ud fra databasen. Har dog
heller ikke de store erfaring indenfor datoformatering i MySQL.

Et lille script:
$date = "2002-06-17";
$time = "12:59:23";

$DateFormateddate=("l d, Y @
$time",mktime(0,0,0,substr($date,5,2),substr($date,8,2),substr($date,0,4)));

mvh
Johan


Thomas G. Larsen (17-06-2002)
Kommentar
Fra : Thomas G. Larsen


Dato : 17-06-02 22:26

Hmm, det lyder fornuftigt!!

Jeg har forsøgt, men får en parse error når jeg kører scriptet...

Når jeg tager dit eksempel direkte i et testscript:

<?php
$date = "2002-06-17";
$time = "12:59:23";

$newdate=("l d, Y @ $time", mktime(0, 0, 0, substr($date, 5,
2),substr($date, 8, 2),substr($date, 0, 4)));

echo "$newdate";

?>

får jeg denne fejl: Parse error: parse error, unexpected ',' in
C:\www\datetest.php on line 5

Jeg var efterfølgende inde at se på php.net under mktime, men jeg synes da
det ser ud til at være rigtigt formateret, så jeg kan i hvert fald ikke
spotte, hvor der mangler et komma! Håber I kan se hvad der er galt?

/Thomas

"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:3D0DCB91.3050506@weknowthewayout.com...
>
>
> Thomas G. Larsen wrote:
> > Håber I kan hjlæpe med denne lille ting...I min db har jeg to felter,
hvor
> > det ene indeholder dato'en (yyyy-mm-dd) og et andet felt der indeholder
> > tidspunkt på formen (tt:mm:ss). Når jeg trækker skidtet ud fra
databasen,
> > ville jer gerne have formateret det på en anden måde i stil med Thursday
29,
> > 2002 @ 21:15:13 eller lignende...
> >
> > Mit problem er, at jeg ikke præcist kan finde ud af, hvorledes dette
skal
> > formateres, når jeg trækker det ud fra databasen? Er det evt. smartere,
at
> > formatere det i den ønskede form, inden jeg smider det ind i databasen?
>
>
> Jeg ville formatere det efter jeg trak det ud fra databasen. Har dog
> heller ikke de store erfaring indenfor datoformatering i MySQL.
>
> Et lille script:
> $date = "2002-06-17";
> $time = "12:59:23";
>
> $DateFormateddate=("l d, Y @
>
$time",mktime(0,0,0,substr($date,5,2),substr($date,8,2),substr($date,0,4)));
>
> mvh
> Johan
>



-Martin- (17-06-2002)
Kommentar
Fra : -Martin-


Dato : 17-06-02 21:58

On Mon, 17 Jun 2002 12:56:18 +0200, "Thomas G. Larsen" <tgl@cs.auc.dk>
wrote:

>Håber I kan hjlæpe med denne lille ting...I min db har jeg to felter, hvor
>det ene indeholder dato'en (yyyy-mm-dd) og et andet felt der indeholder
>tidspunkt på formen (tt:mm:ss). Når jeg trækker skidtet ud fra databasen,
>ville jer gerne have formateret det på en anden måde i stil med Thursday 29,
>2002 @ 21:15:13 eller lignende...

2 felter ?

Hvorfor ikk bare have ET felt (et datetime felt) ?
som kan updates og indsættes med NOW()

Også kan man hente det ud med

SELECT DATE_FORMAT(felt, '%d/%m-%Y %H:%i') as nydato FROM tabel

Du kan finde mange flere af de der %xx inde i manualen
<http://www.mysql.com/doc/D/a/Date_and_time_functions.html>
Det er en DEJLIG guf side

Prøv at gennemskue DATE_FORMAT koden ... for den er et RIGTIG godt
redskab :)

Thomas G. Larsen (17-06-2002)
Kommentar
Fra : Thomas G. Larsen


Dato : 17-06-02 22:40


"-Martin-" <admin@DELETEnatten-i.dk> wrote in message
news:12jsgu8d8dlodgdrfm4gsliqdp28149ea2@4ax.com...
> On Mon, 17 Jun 2002 12:56:18 +0200, "Thomas G. Larsen" <tgl@cs.auc.dk>
> wrote:
>
> >Håber I kan hjlæpe med denne lille ting...I min db har jeg to felter,
hvor
> >det ene indeholder dato'en (yyyy-mm-dd) og et andet felt der indeholder
> >tidspunkt på formen (tt:mm:ss). Når jeg trækker skidtet ud fra databasen,
> >ville jer gerne have formateret det på en anden måde i stil med Thursday
29,
> >2002 @ 21:15:13 eller lignende...
>
> 2 felter ?

Ja, dvs...jeg var egentlig også startet ud med et enkelt felt, datetime
2002-12-05 12:12:12, hvor hele molevitten var i, men da, jeg mente, jeg ikke
havde evner til at få trukket det ud af databasen og få det formateret
det på den måde, jeg ønskede, valgte jeg at dele dato og tidspunkt op i to
felter....jeg var genneskuet det nu, og jo, det er ti gange nemmere, end at
skulle lave en konverteringsfunktion!!! Jeg havde været inde på mysql docs
og set samme sted inden, men havde ikke fanget ideen før nu....

Tak for at give mig denne indsigt

/Thomas

>
> Hvorfor ikk bare have ET felt (et datetime felt) ?
> som kan updates og indsættes med NOW()
>
> Også kan man hente det ud med
>
> SELECT DATE_FORMAT(felt, '%d/%m-%Y %H:%i') as nydato FROM tabel
>
> Du kan finde mange flere af de der %xx inde i manualen
> <http://www.mysql.com/doc/D/a/Date_and_time_functions.html>
> Det er en DEJLIG guf side
>
> Prøv at gennemskue DATE_FORMAT koden ... for den er et RIGTIG godt
> redskab :)



Søg
Reklame
Statistik
Spørgsmål : 177505
Tips : 31968
Nyheder : 719565
Indlæg : 6408554
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste