2011-05-25 22 views
5

Me estoy tomando el tiempo como 13.40, pero necesito convertirlo a 1.40 ... cualquiera sabe, cuál es la mejor manera de hacerlo. Estoy usando jquery para hacer tiempo.Conversión de tiempo de 24 horas a 12 horas

mi código es:

var time = new Date(myDate); 
var hours = time.getHours(); 

alert(hours); 
+4

Eso no es jQuery, es sólo JavaScript. –

+0

@Cory: De acuerdo, repudiado. – DarthJDG

Respuesta

2

Trate

hours = hours > 12 ? hours - 12 : hours; 
+4

En realidad, 'hours = hours% 12' es un poco más simple;) –

6
if (hours > 12) { 
    hours -= 12; 
} 

Um, tan simple como eso.

1

Se puede utilizar el operador de módulo para esto:

var hours = time.getHours() % 12 
+0

=)))))))))))))" modulator "?! –

+0

a la derecha es módulo. ¡Gracias! Por cierto, esta solución no funciona porque 12:00 debe ser 12 my 24 debe ser 12 pm. –

3

Uso del operador modulus, % para este

var input = "13.40"; 
var atoms = input.split("."); 
var output = atoms[0] % 12 + "." + atoms[1]; 
output; // "1.40"; 

Si desea prefijar con 0 entonces puedes hacer esto

var output = ("0" + atoms[0] % 12).slice(-2) + "." + atoms[1]; 
output; // "01.40"; 

Si desea AM/PM como sufijo

var output = ("0" + atoms[0] % 12).slice(-2) + "." + atoms[1] + 
    (atoms[0] < 13 ? " AM" : " PM"); 
output; // "01.40 PM"; 
Cuestiones relacionadas