PHP: функция даты, чтобы получить месяц текущей даты - PullRequest
52 голосов
/ 22 сентября 2010

Я хочу, чтобы можно было определить месяц текущей переменной даты.Я бывший vb.net и способ сделать это просто date.Month.Как мне сделать это в PHP?

Спасибо,

Джонси

Я использовал date_format($date, "m"); //01, 02..12

Это то, что я хотел, вопрос теперь в том, каксравнить это с int, так как $monthnumber = 01 просто становится 1

Ответы [ 5 ]

79 голосов
/ 22 сентября 2010

См. http://php.net/date

date('M') или date('n') или date('m') ...

Обновление

m Числовое представление месяца с ведущими нулями 01–12

n Числовое представление месяца без начальных нулей 1через 12

F Буквенное представление месяца с января по декабрь

67 голосов
/ 22 сентября 2010

Как выглядит ваша «переменная данных»?Если это так:

$mydate = "2010-05-12 13:57:01";

Вы можете просто сделать:

$month = date("m",strtotime($mydate));

Для получения дополнительной информации посмотрите date и strtotime .

РЕДАКТИРОВАТЬ:

Чтобы сравнить с int, просто введите date_format($date,"n");, который даст вам месяц без нуля.

Или попробуйте один из них:

if((int)$month == 1)...
if(abs($month) == 1)...

Или что-то странное с использованием ltrim, round, floor ... но date_format () с "n" будет лучшим.

9 голосов
/ 22 сентября 2010
$unixtime = strtotime($test);
echo date('m', $unixtime); //month
echo date('d', $unixtime); 
echo date('y', $unixtime );
5 голосов
/ 22 сентября 2010

, так как формат date_format использует тот же формат, что и дата (http://www.php.net/manual/en/function.date.php), "Числовое представление месяца без начальных нулей" - это строчная буква n .. поэтому

echo date('n'); // "9"
2 голосов
/ 07 апреля 2018

Поскольку не указано, если вы имеете в виду текущую дату системы или дату, хранящуюся в переменной, я отвечу за последнее с примером.

<?php
$dateAsString = "Wed, 11 Apr 2018 19:00:00 -0500";

// This converts it to a unix timestamp so that the date() function can work with it.
$dateAsUnixTimestamp = strtotime($dateAsString);

// Output it month is various formats according to http://php.net/date

echo date('M',$dateAsUnixTimestamp);
// Will output Apr

echo date('n',$dateAsUnixTimestamp);
// Will output 4

echo date('m',$dateAsUnixTimestamp);
// Will output 04
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...