Avatar billede thb Nybegynder
20. marts 2004 - 18:23 Der er 18 kommentarer og
2 løsninger

datoer i php

Hey alle

Er der ikke en der kan give nogle gode råd til det med datoer.

Jeg har ikke prøvet at arbejde med datoer i php endnu.
Da jeg arbejde med ASP kan jeg huske at der altid kom nogle små problemer...

Hvordan skal jeg gøre..
F.eks har jeg denne dato/tid i min db.. 2004-03-20 18:22:10

Hvordan skrive man så bare '20 marts 2004' ??

Thomas
Avatar billede technodance.dk Nybegynder
20. marts 2004 - 19:00 #1
<?php

echo date("dS"). "<br>";
echo date("l"). "<br>";
echo date("F"). "<br>";
echo date("Y"). "<br>";
echo date("h:i:s"). "<br>";
echo date("A"). "<br>";
?>
Avatar billede thb Nybegynder
20. marts 2004 - 19:13 #2
hvordan får jeg min dato fra min database.. ??

Thomas
Avatar billede technodance.dk Nybegynder
20. marts 2004 - 20:31 #3
hvorfor gør du det ikke før det kommer i en db
Avatar billede thb Nybegynder
20. marts 2004 - 20:35 #4
???

I asp var jeg vandt til at putte now() ind i databasen, now() giver dato og tid, og så når man skulle bruge det, og alt efter hvordan man skulle bruge det så kunne man udskrive med nogle forskellige funktioner..


f.eks:

dato = now()
day(dato) : month(dato) : year(dato)

Kan du ikke give et eksempel på det du hentyder til
Avatar billede technodance.dk Nybegynder
20. marts 2004 - 22:21 #5
havd database taler vi om?
Avatar billede thb Nybegynder
20. marts 2004 - 22:29 #6
det MySQL database.. Men jeg har faktisk fundet ud af hvordan jeg gør.. Man skal bare bruge funktion strtotime() og så sætte det ind som timestamp.

Smid lige et svar, så får du nogle point..

Thomas
Avatar billede technodance.dk Nybegynder
20. marts 2004 - 22:34 #7
okay men kan du ikke smide et eks. jeg har søgt og søgt ud det hele vilde
Avatar billede thb Nybegynder
20. marts 2004 - 22:40 #8
nu har jeg skrevet sådan her...

$d = dato fra databasen
print(date("j",strtotime($d)) .".". date("n",strtotime($d)) .".". date("y",strtotime($d));

Thomas
Avatar billede thb Nybegynder
20. marts 2004 - 22:41 #9
svarer og lige selv
Avatar billede technodance.dk Nybegynder
20. marts 2004 - 22:51 #10
du siger at det viker jeg for det her som en fejl:

Parse error: parse error, unexpected ';' in D:\dk_www\zubnet\zubnet.dk\exp\dato.php on line 3
PHP Parse error: parse error, unexpected ';' in D:\dk_www\zubnet\zubnet.dk\exp\dato.php on line 3

--------------------------------
<?php
$d = "2004-03-20 18:22:10";
print(date("j",strtotime($d)) . date("n",strtotime($d)) . date("y",strtotime($d));
?>
Avatar billede thb Nybegynder
20. marts 2004 - 22:57 #11
der mangler en ) for at afslutte print() :)

<?php
$d = "2004-03-20 18:22:10";
print(date("j",strtotime($d)) . date("n",strtotime($d)) . date("y",strtotime($d)));
?>
Avatar billede technodance.dk Nybegynder
20. marts 2004 - 23:29 #12
ville du ikke have den til at skrive navn på månden?
Avatar billede fangel Nybegynder
20. marts 2004 - 23:40 #13
1) du behøver ikke mange kald til date(), det kan klares med et... tjek http://php.net/date for eksempler og en tabel over alle de ting du kan få den til at skrive

2) jeg ville gemme et unix-timestamp i databasen (fås med time()) - og så bruge date("[indstæt datoformatering her], $timestamp) når det skal fremvises - så gør det det meget nemmere at sortere datoer osv...

Morten
Avatar billede thb Nybegynder
20. marts 2004 - 23:47 #14
dea_pg > Hvordan bruger jeg den der time() ??

Jeg har også fået den til at skrive månedensnavn.. det fik jeg bare ikke copieret med..

Thomas
Avatar billede fangel Nybegynder
20. marts 2004 - 23:52 #15
fx når du vil gemme i databasen

mysql_query("INSERT INTO tabel (felter, flerefelter, datofelt) VALUES ('værdi1', 'værdi2', " . time() . ")")or die(mysql_error());
(sig til hvis du ikke forstår query'et)

altså så dit datofelt for værdien som time() returnere, hvadenten du laver den inline i queryet eller den kommer forbi en variabel først...

Morten
Avatar billede thb Nybegynder
20. marts 2004 - 23:57 #16
okay... :)
Men hvad indeholder time() ??
Skal man ikke give det en værdi så som time(now()) eller lign ?

Thomas
Avatar billede fangel Nybegynder
20. marts 2004 - 23:59 #17
nej - time() returnere NU i unix-timestamp... (jf http://php.net/time)
Avatar billede thb Nybegynder
21. marts 2004 - 00:16 #18
okay.. nu er mit felt i dben 'date' og så skriver jeg:

mysql_query("insert into nyheder (navn,tekst,dato) values('navn','tekst',". time() .")");

men der kommer ikke nogen dato i dben.. ???
Avatar billede thb Nybegynder
21. marts 2004 - 00:18 #19
har du evt. tid i nogle min over msn eller icq.. ??

Thomas
Avatar billede fangel Nybegynder
21. marts 2004 - 08:22 #20
tjaa - du kan bare skrive enten din msn eller icq, så skal jeg nok fange dig...

du kan også prøve over 2 linier...

$date = time();
mysql_query("insert into nyheder (navn,tekst,dato) values('navn','tekst','$date')")or die(mysql_error());

Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester