2011-05-25 140 views
5

我得到的时间像13.40,但我需要将其转换为1.40 ..任何人都知道,什么是最好的方式来做到这一点。我正在使用jquery来腾出时间。时间转换从24小时到12小时

我的代码是:

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

alert(hours); 
+4

这不是jQuery的,它只是JavaScript的。 – 2011-05-25 11:54:31

+0

@Cory:同意,重新标记。 – DarthJDG 2011-05-25 12:31:21

回答

2

尝试

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

实际上,'hours = hours%12'有点简单;) – 2011-05-25 12:21:15

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

嗯,就这么简单。

1

可以使用模运算符此:

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

=)))))))))))))“modulator”?! – 2011-05-26 08:53:50

+0

它是模数。谢谢! 顺便说一句,这个解决方案并不是真的有效,因为12:00应该是12米,24应该是12点。 – 2011-05-26 09:17:09

3

使用modulus操作,%这个

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

如果你想与0前缀那么你可以做到这一点

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

如果你想AM/PM作为后缀

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