Unixtime month&year conversion to normal string
Nu stiu daca titlul e prea maret, dar in fine sa va explic repede cum sta situatia.Daca aveti intr-un camp unixtime si vreti sa afisati toate luniile, din db pentru field-ul respectiv si faceti:
SELECT DISTINCT EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(date)) FROM `posts`
Veti primi un raspuns de genul:200908; well asta e superb, dar daca vreti sa faceti o archive, de genu cum au toate blogurile: August 2009 trebuie sa faceti cateva tricks.
Eu am scris un view helper pentru Zend Framework care face asta, sper sa va fie de folos:
class Zend_View_Helper_DateHelper extends Zend_View_Helper_Abstract
{
public function dateHelper($string = false)
{
if ($string !== false) {
$_month = substr($string, -2);
$_year = substr($string, 0, strlen(date("Y")));
$months = array('01' => "January",
'02' => "February",
'03' => "March",
'04' => "April",
'05' => "May",
'06' => "June",
'07' => "July",
'08' => "August",
'09' => "September",
'10' => "October",
'11' => "Novemeber",
'12' => "December");
return $months[$_month].' '.$_year;
}else{
return false;
}
}
}
Trebuie doar sa ii dati un string de genu 200908, si va prelucra el totul.Sper ca este cuiva de folos.
