Avatar billede jamal_s Nybegynder
18. april 2002 - 12:42 Der er 18 kommentarer og
1 løsning

dato ?

hejsa..

jeg får en hele forkert dato (2018-04-20 02:00:00)...når jeg opretter en bruger, dvs når en bruger opretter sig, så bliver skrevet hvornår han blev oprettet (dato+kl),

jeg henter datoen på den måde !
$dato = date("j/n - Y");
Avatar billede sthen Nybegynder
18. april 2002 - 12:46 #1
gemmer du så datoen i en MySql database ??

Hvis du gør - skal du gemme datoen som INT og IKKE TIMESTAMP
Avatar billede jamal_s Nybegynder
18. april 2002 - 12:50 #2
det virker hellere ik !
Avatar billede filip_b_l Nybegynder
18. april 2002 - 12:53 #3
hvis du skal have en pæn dato er det nemt at bruge timestamp i din mysql database. Så får du nemlig et felt der har den mest betynde faktor forrest, dvs at du vil få noget lign. 20020418125150 som altså betyder 18. April 2002 12:51:50... det kan du så lave om med nogle linier hvor du forklarer at de første 4 tegn er variable a, de næste b osv... og så printe
$c/$b $a $d:$e:$f
Avatar billede jamal_s Nybegynder
18. april 2002 - 12:54 #4
det tager langtid :(
Avatar billede filip_b_l Nybegynder
18. april 2002 - 12:54 #5
du skal selvfølgeligt lave din timestamp til 14 hvis du kunne bruge mit eksempel...
Avatar billede doodset Nybegynder
18. april 2002 - 12:56 #6
sætter ind:
$time = time();
mysql_query("insert into tabel (tid) values ($time)");


henter ud igen:
$select = mysql_query("select tid from tabel");
$tid = mysql_fetch_row($select);

$dato = date("j/n - Y", $tid[0]);
Avatar billede jakoba Nybegynder
18. april 2002 - 13:10 #7
Hvordan er feltet  tid  defineret i din database?
Er der en INT eller en CHAR eller en VARCHAR eller hvad.
Avatar billede doodset Nybegynder
18. april 2002 - 13:47 #8
varchar(20)
Avatar billede jakoba Nybegynder
18. april 2002 - 13:53 #9
Jeg vil anbefale du laver det om til INT og så bruger doodsets eksempel.
Avatar billede jakoba Nybegynder
18. april 2002 - 13:55 #10
Ups. doodset >> hvorfor svarer du for jamal_s?
Avatar billede doodset Nybegynder
18. april 2002 - 14:31 #11
jakoba>> hvorfor bruge int istedet for varchar????
        er der forskel på hastighed?
        og det var ikke et svar for jamal_s kun ps. til mit indlæg
Avatar billede jakoba Nybegynder
18. april 2002 - 14:42 #12
Njae, INT er en lille smule hurtigere og fylder en lille smule mindre. Men så lidt at det er ret ligegyldigt.
Men med INT er du sikker på at tallet er et tal når det trækkes ud af databasen igen og mindsker dermed risikoen for at php's autokonvertering af datatyper giver et uheldigt resultat.
Avatar billede martin1000ben Nybegynder
18. april 2002 - 16:26 #13
jamal_s -> Hvorfor laver du ikke dit mysql felt til enten TIMESTAMP eller DATETIME ?
Så kan du bruge NOW() funktionen til at indsætte datoen+tiden!

også hente det med fx
$sql = mysql_query("SELECT DATE_FORMAT(datofelt, '%y-%m-%d %H:%i:%s') as nydato FROM tabel");
list($nydato) = mysql_fetch_row($sql);
print $nydato;
Avatar billede martin1000ben Nybegynder
18. april 2002 - 16:27 #14
DATE_FORMAT koderne er godt beskrevet i dokumentationen på mysql.com
Og hvis du bruger et DATETIME felt, så er der UENDELIGT mange muligheder med fx DATE_ADD funktionen osv osv osv
Avatar billede jamal_s Nybegynder
23. april 2002 - 19:23 #15
*lol* < findes der SLET INGEN simpel løsning ???
Avatar billede jamal_s Nybegynder
23. april 2002 - 19:24 #16
skal lige sige at det skal se sådan ud ?

0000-00-00 00:00:00
Avatar billede martin1000ben Nybegynder
24. april 2002 - 00:03 #17
jamal_s -> med et DATETIME felt, så kan det gøres med dette

$sql = mysql_query("
SELECT
DATE_FORMAT($dato_felt, %Y-%m-%d %H:%i%s) as nydato FROM tabel
");
list($dato) = mysql_fetch_row($sql);
print $dato;

Det er det fede ved datetime felter, du kan lave SÅ MANGE ting med det. istedet for at PHP skal til at arbejde. mysql's indbygget funktioner er en lækker ting, og ja der er TONSVIS af datofunktioner.

BtW indsættelse af datoen lige nu i mysql gøres således:
$insert = mysql_query("
INSERT INTO tabel
VALUES(NOW())
");
Avatar billede martin1000ben Nybegynder
24. april 2002 - 00:05 #18
Og vil også lige sige, at du kan jo bytte alle de der %Y-%m osv om hvis du nu liiige pludselig opdager der fx er mange englændere der benytter din side. Og så er %-Y-%m-%d jo bedre :)
Avatar billede jamal_s Nybegynder
04. oktober 2002 - 20:10 #19
simpel:

$dato = date("Y-m-d H:i:s", time());
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