Avatar billede riverhorse Nybegynder
24. juli 2007 - 13:14 Der er 5 kommentarer

dato format

Jeg har en tabel der hedder: user_lastvisit i mit phpbb og der kunne værdien se sådan ud: 1107117530 hvordan omkonvatere man den til en almindelig dato ?

M.v.H.

Riverhorse
Avatar billede Slettet bruger
24. juli 2007 - 13:39 #1
Du har fat i et timestamp.

For at hive en data ud, skal du bruge funktionen UNIX_TIMESTAMP.

SELECT UNIX_TIMESTAMP(`timestamp_field`) AS `php_date` FROM blabla
Avatar billede riverhorse Nybegynder
25. juli 2007 - 11:57 #2
Hvordan bruger man det i paksis hvis jeg skriver: echo mysql_query("FROM_UNIXTIME(1111885200)"); skriver den ikke noget ?

M.v.H.

Riverhorse
Avatar billede Slettet bruger
25. juli 2007 - 13:49 #3
Hvis du har timestampet som i dit eksempel og altså ikke skal hente det fra mysql kan du lægge det direkte over i en variabel.

$myDate = 1111885200;

Mysql syntax for dette er:
$sql = "SELECT 1111885200 AS `date`";
$result = mysql_query($sql);
$data = mysql_fetch_assoc($result);
$myDate = $data['date'];

Såfremt dit timestamp er gemt med typen timeStamp i mysql, skal du konvertere til et UNIX_TIMESTAMP:

$sql = "SELECT UNIX_TIMESTAMP('2007-07-25 13:47:01') AS `date`";
$result = mysql_query($sql);
$data = mysql_fetch_assoc($result);
$myDate = $data['date'];

Hvis det ikke hjælper, må du fortælle, hvor du får din data fra.
Avatar billede riverhorse Nybegynder
26. juli 2007 - 12:16 #4
Hvis jeg bruge denne kode:

$text_idd = $row['privmsgs_date'];

$sql = "SELECT $text_idd AS `date`";
$result = mysql_query($sql);
$data = mysql_fetch_assoc($result);
$myDate = $data['date'];

Giver den dette resultat:
// Posted den 1142109693 af

Og bruger jeg denne kode:

$text_idd = "SELECT FROM_UNIXTIME('1159728368') AS `date`";
$sql = "SELECT $text_idd AS `date`";
$result = mysql_query($sql);
$data = mysql_fetch_assoc($result);
$myDate = $data['date'];

For jeg denne besked:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
Avatar billede Slettet bruger
26. juli 2007 - 23:15 #5
Prøv
echo date("Y-m-d H:i:s",$row['privmsgs_date']);

Det skulle du gerne få den tilsvarende dato ud.

Desuden hedder det UNIX_TIMESTAMP ikke FROM_UNIXTIME, men den funktion tror jeg slet ikke, du får brug får, når du allerede har et UNIX timestamp i $row['privmsgs_date'].

Hvis det ikke virker, må du skrive, hvor du får $row['privmsgs_date'] fra..
Jeg går ud fra, det er en mysql querys output? Hvis ja så post din query her (såfremt ovenstående ikke virker efter hensigten).

/1
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
Computerworld tilbyder specialiserede kurser i database-management

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