将军事时间转换为上午和下午时间的最佳方法是什么。 .我有以下代码并且工作正常:
$scope.convertTimeAMPM = function(time){
//var time = "12:23:39";
var time = time.split(':');
var hours = time[0];
var minutes = time[1];
var seconds = time[2];
$scope.timeValue = "" + ((hours >12) ? hours -12 :hours);
$scope.timeValue += (minutes < 10) ? ":0" : ":" + minutes;
$scope.timeValue += (seconds < 10) ? ":0" : ":" + seconds;
$scope.timeValue += (hours >= 12) ? " P.M." : " A.M.";
//console.log( timeValue);
}
但是当我运行我的程序时,我对输出显示不满意。 .
示例输出:
20:00:00 8:0:0 P.M.
08:00:00 08:0:0 A.M
16:00:00 4:30:0 P.M.
我想实现如下所示的输出:
20:00:00 8:00:00 P.M.
08:00:00 8:00:00 A.M
16:30:00 4:30:00 P.M.
那里有什么建议吗?谢谢
原文由 Lee Lee 发布,翻译遵循 CC BY-SA 4.0 许可协议
您错过了在
minutes < 10
和seconds < 10
时连接字符串,因此您没有得到想要的结果。使用
Number()
将字符串转换为数字,并适当地使用它,如下面的工作代码片段所示:编辑: 更新
seconds
代码要使用Number()
声明为hours
minutes
阅读:
Number()
| MDN