Jak zdobyć rok i miesiąc od określonej daty.Jak zdobyć rok i miesiąc od daty - PHP
np. $dateValue = '2012-01-05';
Od tego dnia muszę dostać roku jako i miesiąca stycznia.
Jak zdobyć rok i miesiąc od określonej daty.Jak zdobyć rok i miesiąc od daty - PHP
np. $dateValue = '2012-01-05';
Od tego dnia muszę dostać roku jako i miesiąca stycznia.
Zastosowanie strtotime()
:
$time=strtotime($dateValue);
$month=date("F",$time);
$year=date("Y",$time);
Dlaczego nie '$ result = date (" F Y ", $ time);'? –
Ale mam pytanie, jak php będzie rozróżniać między dniem a miesiącem tutaj? .. – mohitesachin217
jak wyświetlić pierwsze trzy litery miesiąca? Np .: luty na luty – Aswathy
Można użyć tego kodu:
$dateValue = strtotime('2012-06-05');
$year = date('Y',$dateValue);
$monthName = date('F',$dateValue);
$monthNo = date('m',$dateValue);
printf("m=[%s], m=[%d], y=[%s]\n", $monthName, $monthNo, $year);
Korzystanie date()
i strtotime()
z docs.
$date = "2012-01-05";
$year = date('Y', strtotime($date));
$month = date('F', strtotime($date));
echo $month
$dateValue = '2012-01-05';
$yeararray = explode("-", $dateValue);
echo "Year : ". $yeararray[0];
echo "Month : ". date('F', mktime(0, 0, 0, $yeararray[1]));
Usiong explode() można to zrobić.
$dateValue = '2012-01-05';
$year = date('Y',strtotime($dateValue));
$month = date('F',strtotime($dateValue));
Prawdopodobnie nie najbardziej wydajny kod, ale tu idzie:
$dateElements = explode('-', $dateValue);
$year = $dateElements[0];
echo $year; //2012
switch ($dateElements[1]) {
case '01' : $mo = "January";
break;
case '02' : $mo = "February";
break;
case '03' : $mo = "March";
break;
.
.
.
case '12' : $mo = "December";
break;
}
echo $mo; //January
ja osobiście wolę za pomocą tego skrótu. Wyjście będzie wciąż takie same, ale nie trzeba przechowywać miesiąc i rok w oddzielnych zmiennych
$dateValue = '2012-01-05';
$formattedValue = date("F Y", strtotime($dateValue));
echo $formattedValue; //Output should be January 2012
Mała dygresja na temat korzystania z tej sztuczki, można użyć przecinka, aby oddzielić miesiąc i rok jak tak:
$formattedValue = date("F, Y", strtotime($dateValue));
echo $formattedValue //Output should be January, 2012
'SQLSTATE [42000]: Błąd składniowy lub naruszenie dostępu: 1305 FUNKCJA yii_attendance.DATEPART nie istnieje Wykonywany SQL: SELECT daytime FROM attendance WHERE DATEPART (month, my_date_field) = 8 ORDER BY day DESC' – raxa
używam te funkcję, aby uzyskać lat, miesięcy, dni od daty
należy umieścić je w klasie
public function getYear($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("Y");
}
public function getMonth($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("m");
}
public function getDay($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("d");
}
$dateValue = strtotime($q);
$yr = date("Y", $dateValue) ." ";
$mon = date("m", $dateValue)." ";
$date = date("d", $dateValue);
To nie zamienia miesiąca na ** styczeń **, jesteś blisko. F powinno być użyte, patrz http://php.net/manual/en/function.date.php. –
będą dzielić mój kod:
W swojej dany dzień Przykład:
$dateValue = '2012-01-05';
To będzie tak:
dateName($dateValue);
function dateName($date) {
$result = "";
$convert_date = strtotime($date);
$month = date('F',$convert_date);
$year = date('Y',$convert_date);
$name_day = date('l',$convert_date);
$day = date('j',$convert_date);
$result = $month . " " . $day . ", " . $year . " - " . $name_day;
return $result;
}
i zwróci wartość: 05 stycznia , 2012 - czwartek
http://stackoverflow.com/q/38476483/6438706 – basil