ugrás a tartalomhoz

Dátum konvert hogyan?

Anonymous · 2005. Május. 30. (H), 09.28
Sziasztok!


Egy olyan kérdésem lenne, hogy adott egy dátum Mysql táblában pl.: "2000-01-02"
Ezt kéne úgy átalakítani, hogy mondjuk az legyen helyette, hogy "02. 01. 2000"
Ezt viszonylag egyszerűen megoldanám egy explode + felcserélgetés + implode vagy összefűzés párossal. A kérdésem az lenne, hogy létezik-e egy univerzális php függvény a probálára?
Valami ilyen kéne, hogy függvényneve($date,"Y-m-d","d. m. Y")
Ha van ilyen, hogy hívják? manualban nem sikerült a nyomára bukkannom.

Előre is köszi
 
1

kulcsszavak a php manualban:

HaFeWDT · 2005. Május. 30. (H), 09.39
kulcsszavak a php manualban: strtotime, strftime
2

Márpedig benne van

PiG · 2005. Május. 30. (H), 09.44
http://hu2.php.net/manual/en/function.date.php

És egy kiragadott példa az oldalról:

MG_Peter at o2 dot pl
30-Apr-2005 02:05
easy way - to convert a "datetime" form mySQL into php date format....
first - get the array form mySQL, then use

<?php
date("d M Y H:i:s", strtotime($your_row['lastlogin_date']))
?>

strtotime - easy converts a datetime timestamp into time  ( time() or date("U")).


Szóval ott van, csak alaposabban kéne nézegetni!

P][G
3

strtotime() + date() kombó

bbalint · 2005. Május. 30. (H), 10.19

<?php
  function én_mysql_dátum_formázó_függvényem_szeretem_jól($időpont){
    print(date('d. m. Y', strtotime($időpont)));
  }
  
  én_mysql_dátum_formázó_függvényem_szeretem_jól('1986-02-11'); // kírja, hogy 11. 02. 1986
?>
amúgy, a W3C azt javasolja, hogy használj nemzetközi dátum-formátumot, mert az, hogy 02/04/03 (vagy akár 02. 04. 03) más-mást jelent(het)
  • 2003. április másodikát Európában,
  • 2003. február negyedikét az USÁ-ban,
  • de lehet 2002. április harmadika is, ha az ISO dátumokhoz vagyunk szokva
ezért inkább a éééé-hh-nn formátumot javasolják, és/vagy a hónap fonetikus, betűkkel való kiírását (az strftime() függvény %B formázó-paramétere)

bbalint
4

MySQL-változat

bbalint · 2005. Május. 30. (H), 10.31
de a MySQL is rendelkezik egy UNIX_TIMESTAMP() nevű függvénnyel, ami nem dátumot add vissza, hanem ilyen időbélyeget

  SELECT ez, meg, az, UNIX_TIMESTAMP(`egy DATE mező neve ez itten`) FROM `tábla`;
és akkor PHP-ban csak egy date()tel kell őt megformázni:

<?php
  $eredmény = mysql_query('SELECT ez, meg, az, UNIX_TIMESTAMP(`egy DATE mező neve ez itten`) FROM `tábla`');
  while(list($ez, $meg, $az, $date_mező) = mysql_fetch_row($eredmény)){
    print('ez: '.$ez.' meg: '.$meg.' az: '.$az.' date_mező: '.date('m. d. Y', $date_mező).'<br/>');
  }
?>
bbalint
6

DATE_FORMAT

Anonymous · 2005. Május. 31. (K), 00.45
Nem értem, hogy miért nem a DATE_FORMAT mysql függvényt ajánlgatjátok. Az pont erre való.

SELECT DATE_FORMAT(datummezo,"%d.%m.%Y") as datum FROM tabla;


Gyulus
7

PHP

bbalint · 2005. Május. 31. (K), 09.52
mivel az illető PHP témakörben nyitotta ezt a fórum témát

bbalint
5

köszi

halee · 2005. Május. 30. (H), 16.39
köszi