|
| 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 :)
| |
|
|