Data w formie - dzisiaj, wczoraj, minute , godzine, dni temu
Funkcja pobiera datę w formie RRRR-MM-DD HH:MM:SS np.(2009-09-19 20:44:53) i zwraca ją w formie np. 29 dni temu, 20:45
Ta funkcja zwraca wynik dla daty nie większej niż 30 dni.
Podobny artykuł : Różnica między dwiema datami
Listing
<?php
function czas_relatywny( $data_wejsciowa ) {
$roznica_czasu = time() - strtotime( $data_wejsciowa );
if( $roznica_czasu < 0 ) { die(); }
$okres = array('sekund', 'minut', 'godzin', null, 'dni');
$dlugosc = array(60,60,24,3,31);
for($j = 0; $roznica_czasu >= $dlugosc[$j]; $j++) { if( !isset($dlugosc[$j]) ) { break; } if( $j<3) { $roznica_czasu /= $dlugosc[$j]; } }
$roznica_czasu = round(abs($roznica_czasu));
switch( $j ) {
case 0: case 1: case 2:
switch( $roznica_czasu ) {
case 1: $okres[$j] .= 'a'; break;
case 2:case 3:case 4:case 22:case 23:case 24:case 32:case 33:case 34:case 42:case 43:case 44:case 52:case 53:case 54: $okres[$j] .= 'y'; break;
} break;
case 3:
switch( $roznica_czasu ) {
case 1: $okres[$j] = 'wczoraj'; break;
case 2: $okres[$j] = 'przedwczoraj'; break;
case 3: $j=4; break;
} break;
}
if( $j==0 or $j==1 or $j==2 or $j == 4 ) { return $roznica_czasu.' '.$okres[$j].' temu, '.date("H:i",strtotime( $data_wejsciowa )); }
elseif( $j == 3 ) { return $okres[$j].', '.date("H:i",strtotime( $data_wejsciowa )); }
elseif( $j == 5 ) { return date("d-m-Y H:i",strtotime( $data_wejsciowa )); }
}
?>
<?php
//Przykłady
echo czas_relatywny( "2009-09-19 20:44:53") ).'<br/>';
echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-1 minute")) ).'<br/>';
echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-1 day")) ).'<br/>';
echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-29 days")) ).'<br/>';
echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-30 days")) ).'<br/>';
echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-31 days")) ).'<br/>';
echo czas_relatywny( date( "Y-m-d H:i:s", strtotime("-1 year")) ).'<br/>';
?>
Dodano przez: igor
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
dzięki
autor: lfs_driver | 12815 | 2012-04-15 11:45:13
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno