Witam, miałem ostatnio taki problem jednak pomogli mi użytkownicy z pewnego forum o PHP. Pierw, co to jest TIMESTAMP. Jest to najbardziej popularny wzór zapisywania dat. Posiada wbudowaną funkcję w SQL do formatowania pobranej daty. Wzór wygląda tak: YYYY-MM-DD HH:MM:SS
Teraz pokaże 4 znane mi możliwości.
1. Jest to najszybszy sposób jaki znam, jest on zgodny z TIMESTAMP w 90% (nie rzuca błędów)
<?php
$nowDay = getdate();
$date = $nowDay['year'].'-'.$nowDay['mon'].'-'.$nowDay['mday'].' '.$nowDay['hours'].':'.$nowDay['minutes'].':'.$nowDay['seconds'];
"seconds" Ilość sekund 0 do 59
"minutes" Liczba minut 0 do 59
"hours" Ilość godzin 0 do 23
"mday" Liczba będąca dniem miesiąca 1 do 31
"wday" Dzień tygodnia w postacy cyfry 0 (dla Niedzieli) aż do 6 (dla Soboty)
"mon" Miesiąc w postaci liczby 1 aż do 12
"year" Pełen rok w postaci liczby, 4 cyfry Przykłady: 1999 lub 2003
"yday" Dzień danego roku, w postaci liczby 0 aż do 365
"weekday" Pełna nazwa dnia tygodnia, w języku angielskim Sunday aż do Saturday
"month" Pełna nazwa miesiąca, w języku angielskim, jak np. January lub March January aż do December
0 Sekundy, które upłynęły od Ery Uniksa, podobnie jak wartość zwracana przez time() i użyta przez funkcję date(). Zależnie od systemu, zazwyczaj -2147483648 aż do 2147483647.
Nie zgodnośc jest ponieważ wartości podawane są bez zer wiodących lecz Zostanie ono dodane samo. Ma to zaletę ponieważ liczby z zerami wiodącymi nie są zgodne z standardami m.in w JS
2. Sposób wolniejszy od 1 lecz też polecany
$time = date("H:i:s");
$data = date("y-m-d");
$hour = explode(":", $time);
$day = explode("-",$data);
$newhour = $hour[0] + 1;
if ($newhour > 23) {
$newhour = $newhour - 24;
$day[2] = $day[2]+1;
}
$arrtime = array($newhour, $hour[1], $hour[2]);
$arrdate = array($day[0], $day[1], $day[2]);
$newtime = implode(":",$arrtime);
$newdata = implode("-",$arrdate);
$arrtemp = array($newdata, $newtime);
$newdate = implode(" ",$arrtemp);
Używany w Vallheru bardzo poręczny lecz nie za szybki.
3.Sposób najwolniejszy i niepolecany.
$arrDate['Y'] = date('Y');
$arrDate['m'] = date('m');
$arrDate['d'] = date('d');
$arrDate['H'] = date('H');
$arrDate['i'] = date('i');
$arrDate['s'] = date('s');
$date = $arrDate['Y'].'-'.$arrDate['m'].'-'$arrDate['d'].' '.$arrDate['H'].':'.$arrDate['i'].':'.$arrDate['s'];
4. Bardzo szybki lecz działa tylko w jedną stronę
$date = date('Y-m-d H:i:s);