将HH:MM字符串转换为时间对象

时间:2016-05-16 09:44:07

标签: angularjs ionic-framework

在我的Ionic AngularJS项目中,我有一个名为 startingTime 的字符串设置为 08:30

我将有一个ng-repeat循环,然后会生成一系列具有增加时间的项目。 例如,列表中的第一项将具有08:30,列表09:00中的第二项等(增量将取决于另一个变量,因此每个循环不是30分钟)

问题是我似乎无法将字符串转换为时间对象,如果我尝试以下内容,我会在大部分时间显示空

$scope.newStartTime = moment(startTime).format('HH-MM');
                 OR
$scope.newStartTime = var date = new Date(startTime);

所以我的两个主要问题是。

  1. 我如何转换字符串" 08:30"进入时间对象?
  2. 在它的一个时间对象之后,我如何进行循环以使每次循环后的时间增加几分钟?
  3. 谢谢。

1 个答案:

答案 0 :(得分:2)

这个方法适合我,将你的startingTime转换为MomentObject:

 var startingTime = "8:30";
 var date = moment(startingTime, "HHmm");`
 console.log(date);

plunker demo

为了创建你的计时器你可以做类似的事情:

$scope.timer = moment(startingTime,"HHmm");
$scope.setInterval = setInterval(function () { $scope.myTimer(); }, 1000);

$scope.myTimer = function () {
   $scope.timer = $scope.timer.add('s', 1);
};