Autor Tema: Validar hora militar como numero entero!!  (Leído 893 veces)

Desconectado Chewii

  • PHPer@
  • **
  • Mensajes: 62
  • Karma: 0
  • Sexo: Masculino
  • Aprendiendo sobre Tortugas Marinas!!
    • Ver Perfil
Validar hora militar como numero entero!!
« en: 01 de Junio de 2011, 22:39:52 pm »
Que tal amigos, aqui estoy de nuevo con otro detallito, resulta que estoy haciendo las validaciones para el sistema q estoy desarrollando, y ya e adelantado algo, pero ahora me topo con otro detalle, les cuento:

Resulta que para el ingreso de datos, se debe incluir la hora militar pero en formato numerico, es decir, sin los 2 puntos, por ejemplo: para ingresar las 13:30, se debe escribir 1330, solamente, y necesito hacer la comparacion de que el dato este entre el intervalo de a hora militar, es decir, yo lo defini entre '0000' y '2359', e hice la sentencia, asigne una variable a la cajita de texto que me carga el dato, pero no entra en el condicional, osea, meto una hora 4444 o 5555 y me la registra, y quiero saber si estoy utilizando mal el operador OR, o es que hace falta algo mas, aqui les dejo las lineas de la sentencia:

Código: [Seleccionar]
$horamil = $_POST['hinilan'];
if (($horamil < 0000) OR ($horamil > 2359)) {
   echo 'la fecha debe estar en formato militar de 4 digitos';
}

espero me puedan ayudar, Saludos!!!

Comunidad PHPeros

Validar hora militar como numero entero!!
« en: 01 de Junio de 2011, 22:39:52 pm »

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re:Validar hora militar como numero entero!!
« Respuesta #1 en: 01 de Junio de 2011, 23:03:17 pm »
Buenas,

No entiendo bien tu pregunta pero por el contexto tengo dos posibilidades y las dos las voy a aclarar, si no es ninguna de las dos, por favor explícate de otro forma para poder entenderte correctamente jeje.

1. Para pasar la hora actual (o la hora con dos puntos) sin los dos puntos podría ser:

1.1 Hora actual:
<?php
$hora 
date("h");
$minuto date("m");
$horamilitar $hora.$minuto;
?>


1.2 Pasar cualquier cadena con una hora separada por :
<?php

$string 
"20:40";
$horamil str_replace(":","",$string); // Devolveria 2040
?>


2. Comprobar si hora militar no tiene : y además está entre el intervalo "0000" y "2359".

<?php

$string 
"23:59";
$sep explode(":",$string);
$count count($sep);
if(
$count || $string || $string 2359 || strlen($string) != 4) {
print 
"Error en la hora";
} else {
// Aqui la ejecucion
}
?>


No creo que deba explicar los códigos ya que son muy simples jeje
Pero de todas formas si alguien tiene alguna duda por favor que no dude en preguntar :D
Sin Firma me haces una? :P

Desconectado Chewii

  • PHPer@
  • **
  • Mensajes: 62
  • Karma: 0
  • Sexo: Masculino
  • Aprendiendo sobre Tortugas Marinas!!
    • Ver Perfil
Re:Validar hora militar como numero entero!!
« Respuesta #2 en: 01 de Junio de 2011, 23:12:57 pm »
Que tal amigo FeDe, creo que tienes razon en algo, no explique la cossa como ma sencilla, en realidad lo que quiero es que un nunmero entero de 4 digitos este comprendido entre los valores 0000 y 2359, que es el intervalo de la hora militar, ya que se deben guardar de esa manera, quizas las pequeñas funciones q me pasaste me sirvan, de todas maneras las voy a probar a ver. Gracias por la ayuda!!!!

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Validar hora militar como numero entero!!
« Respuesta #3 en: 02 de Junio de 2011, 01:09:56 am »
¿Ya probaste procesarlo como string y no como número entero?
- Moderador de PHP