• Publicidad

Pasar número de mes de '1' a '01'

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Pasar número de mes de '1' a '01'

Notapor scout » 2010-01-13 16:54 @746

Hola gente, es una tontería pero tengo un script que dejó de funcionar ya que trabaja con fecha y en este caso el mes es enero el cual figura como ' 1' sacándolo con
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $mes_actual = $fechabucle->month();
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿Cómo puedo hacer para que figure automáticamente como '01'?

Las fechas antes del mes 10 figuran con un solo dígito.
Última edición por explorer el 2010-01-24 08:24 @391, editado 3 veces en total
Razón: Ortografía
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Publicidad

Re: consulta sobre meses del 1 al 9 en script de consola

Notapor explorer » 2010-01-13 17:04 @753

Bueno, estamos suponiendo que estás hablando del módulo DateTime.

Hay varias formas de hacerlo. Una de ellas es agregando el '0', "a mano":
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $mes_actual = substr('0' . $fechabucle->month(), -2);  # nos quedamos con los 2 últimos dígitos
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


O también, se puede usar una función de DateTime, para obtener el valor exacto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $mes_actual = $fechabucle->strftime('%m');
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Más información, en la página de DateTime.
Última edición por explorer el 2010-01-24 08:25 @392, editado 1 vez en total
Razón: Bloques de código
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: consulta sobre meses del 1 al 9 en script de consola

Notapor scout » 2010-01-13 18:30 @812

Fenomenal, tema cerrado... Muchas gracias, estaba bloqueado...
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Pasar número de mes de '1' a '01'

Notapor explorer » 2010-01-13 19:21 @847

¡Ostras...! Me ha faltado la solución básica en C...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $mes_actual = sprintf "%02d", $fechabucle->month();
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Incluso queda como la más bonita. :)
Última edición por explorer el 2010-01-24 08:26 @393, editado 1 vez en total
Razón: Ortografía, bloques de código
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasar número de mes de '1' a '01'

Notapor explorer » 2010-01-24 08:23 @391

Solución formal:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my  $mes_actual = $fechabucle->month();
if ($mes_actual < 10) {
    $mes_actual = "0$mes_actual";
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Variante con el operador condicional:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $mes_actual = $fechabucle->month();
$mes_actual .= ($mes_actual < 10) ? '0' : '';
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 45 invitados