PHP: función de fecha para obtener el mes de la fecha actual

2 minutos de lectura

avatar de usuario
iamjonesy

Quiero poder averiguar el mes de la variable de fecha actual. Soy ex vb.net y la forma de hacerlo es simplemente date.Month. ¿Cómo hago esto en PHP?

Gracias,

Jonesy

solía date_format($date, "m"); //01, 02..12

Esto es lo que quería, la pregunta ahora es cómo comparo esto con un int ya que $monthnumber = 01 simplemente se convierte 1

  • Solo pensando cuál es el +1 en esta pregunta…

    – tela

    22 de septiembre de 2010 a las 10:04


  • por favor vea mi edición para su segunda pregunta.

    – oezi

    22 de septiembre de 2010 a las 10:48

avatar de usuario
tela

Ver http://php.net/fecha

date('m') o date('n') o date('F')

Actualizar

metro Representación numérica de un mes, con ceros a la izquierda 01 a 12

norte Representación numérica de un mes, sin ceros a la izquierda 1 a 12

F Representación alfabética de un mes de enero a diciembre

….ver el enlace de documentos para más opciones.

avatar de usuario
oezi

¿Cómo se ve tu “variable de datos”? Si es así:

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

Simplemente puede hacer:

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

Para obtener más información, echa un vistazo a fecha y strtotime.

EDITAR:

Para comparar con un int, solo haz un date_format($date,"n"); que le dará el mes sin cero inicial.

Alternativamente, pruebe uno de estos:

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

O algo raro usando ltrim, round, floor… pero date_format() con “n” sería lo mejor.

  • gracias usé date_format($date, “m”) para obtener 01, 02..12. Sin embargo, he actualizado mi pregunta porque esto me ha dado otra pregunta.

    – iamjonesy

    22 de septiembre de 2010 a las 10:38

$unixtime = strtotime($test);
echo date('m', $unixtime); //month
echo date('d', $unixtime); 
echo date('y', $unixtime );

as date_format usa el mismo formato que date ( http://www.php.net/manual/en/function.date.php ) la “Representación numérica de un mes, sin ceros a la izquierda” es una n minúscula .. entonces

echo date('n'); // "9"

avatar de usuario
Jano

Como no se especifica si se refiere a la fecha actual del sistema oa la fecha contenida en una variable, responderé por esto último con un ejemplo.

<?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
?>

  • @Zaid Bin Khalid por señalar que mezclé los parámetros de formato M y m

    – Jano

    16 mayo 2018 a las 19:11

avatar de usuario
e102

Para comparar con un int haz esto:

<?php
$date = date("m");
$dateToCompareTo = 05;
if (strval($date) == strval($dateToCompareTo)) {
    echo "They are the same";
}
?>

  • @Zaid Bin Khalid por señalar que mezclé los parámetros de formato M y m

    – Jano

    16 mayo 2018 a las 19:11

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad