Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: timestamp i date
Forum PHP.pl > Forum > Przedszkole
ActivePlayer
Wie ktos jak najszybciej przerobic timestampa aby mozna bylo go uzyc w date() ? idate() odpada php4.3 user :|
kszychu
Poczytaj sobie dokładnie opis funkcji date() w manualu. Jest tam podanych kilka rozwiązań tego problemu.
crash
  1. <?php
  2. echo date('d-m-Y', $timestamp); // np. $timestam = time();
  3. ?>

Czy może nie zrozumiałem o co chodzi?
ActivePlayer
bardziej chodzilo mi o cos takiego:

  1. <?php
  2.  
  3. date(&#092;"i:h ...\", nazwa_funkcji($moj_timestamp));
  4.  
  5. ?>


no ale coz :|
kszychu
ActivPlayer: sprecyzuj dokładnie o co Ci chodzi: czy timestamp to data w postaci yyyymmddhhiiss pobrana z bazy danych, czy może timestamp to uniksowy znacznik czasu wygenerowany np. przez funkcję time()?

Później w zależności od tego w jakim to jest formacie dobiera się odpowiednie funkcje, by przekonwertować to odpowiednio.
ActivePlayer
Cytat
czy timestamp to data w postaci yyyymmddhhiiss pobrana z bazy danych


dokladnie, timestamp to data yyyymmddhhiiss pobrana z bazy danych.
kszychu
No to po kiego Ci to formatować przez date()? Podziel to substringami, powstawiaj kreski albo dwókropki gdzie trzeba i już.
ActivePlayer
Cytat
Podziel to substringami, powstawiaj kreski albo dwókropki gdzie trzeba i już.

chodzi o przejrzystosc... jak bede musiał to wlasnie tak zrobie sad.gif
crash
Hmm ponoć strtotime" title="Zobacz w manualu PHP" target="_manual miał formatować takie timestampy...

Yyy, szukasz słabo... Wystarczyło wpisać taki timestamp (ale poprawny! zamiast ii ma być mm) do Google i masz wynik... Manual php, komentarz pod funkcja time" title="Zobacz w manualu PHP" target="_manual:
  1. <?php
  2. function convert_time($mysql_timestamp){
  3. // YYYYMMDDHHMMSS
  4.  
  5. //this should be in one line, i think...
  6. if (ereg(&#092;"^([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})
  7.  ([0-9]{2})([0-9]{2})&#092;",$mysql_timestamp,$res)):
  8.  
  9. $year=$res[1];
  10. $month=$res[2];
  11. $day=$res[3];
  12. $hour=$res[4];
  13. $min=$res[5];
  14. $sec=$res[6];
  15.  
  16. return(array($year,$month,$day,$hour,$min,$sec));
  17. else:
  18.  return(false);
  19.  endif;
  20. }
  21. ?>
kszychu
Jeśli tak, to wyciągając dane z bazy przekonwertuj je sobie od razu na uniksowy znacznik, używając MySQL'owej funkcji UNIX_TIMESTAMT(), a później wal to bezpośrednio do date().
ActivePlayer
to tez juz probowalem ale jakies kosmiczne daty sie wyswielaly :\ zrobilem na substr... teraz tylko zeby klientowi sie format spodobał smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.