我从数据库中获取一个24小时时间字符串的值。 我正在寻找一种方法,使用angularJS或jQuery将此字符串更改为12小时的时钟。
我目前无法对后端(JAVA)或数据库进行任何代码更改。
var offTime = "17:25:11";
我需要它显示为:"5:25:11"
请帮忙!
答案 0 :(得分:3)
您需要将值拆分为:
,在通过模运算符运行第一个值后重建它。试试这个:
var offTime = "17:25:11".split(':');
offTime[0] = offTime[0] % 12;
var output = offTime.join(':');
alert(output);

答案 1 :(得分:3)
根据Kabb5的回答,我添加了一些逻辑来确定AM / PM并检查0,因此0 AM不是一个选项。
angular.module('simpleAppFilters').filter('twentyFourToTwelve', function () {
return function (inputTime) {
inputTime = inputTime.toString(); //value to string for splitting
var splitTime = inputTime.split(':');
var ampm = (splitTime[0] >= 12 ? ' PM' : ' AM'); //determine AM or PM
splitTime[0] = splitTime[0] % 12;
splitTime[0] = (splitTime[0] == 0 ? 12 : splitTime[0] ); //adjust for 0 = 12
return splitTime.join(':') + ampm;
};
});
答案 2 :(得分:2)
创建一个这样的过滤器:
app.filter('twentyFourToTwelve ', function () {
return function (inputTime) {
var splitTime = inputTime.split(':');
splitTime[0] = splitTime[0] % 12;
return splitTime.join(':');
};
});
然后在你的装订中:
{{ myTime | twentyFourToTwelve }}