javascript字符串到时间和上午/下午格式

时间:2014-11-10 01:11:05

标签: javascript angularjs

我有一个字符串格式的时间

var start = "14:00:00"

我需要输出

02:00pm

<span>{{session.start | some-format}} to {{session.end}}<span>

或javascript操作(任何会做)

我查了一下这个页面,但我想它需要一些时间戳。

https://docs.angularjs.org/api/ng/filter/date

4 个答案:

答案 0 :(得分:5)

做类似的事情:

function toTime(timeString){
    var timeTokens = timeString.split(':');
    return new Date(1970,0,1, timeTokens[0], timeTokens[1], timeTokens[2]);
}

var start = "14:00:00";
var date = toTime(start);

then apply the angular filter:

<span>{{date | date:'h:mm a'}} to {{session.end}}<span>

答案 1 :(得分:3)

使用moment,您可以执行以下操作:

var timeArr = "14:00:00".split(':');

var date = new Date().setHours(timeArr[0], timeArr[1], timeArr[2])

var startTime = moment(date).format("h:mm:ss A");

var endTime = moment().format("h:mm:ss A");

答案 2 :(得分:1)

我看到你在问题中提到了角度文档,所以如果你采用Angular方法,你可以尝试一下:

$scope.start = new Date();
{{ start | date: 'shortTime'}}

此处示例: Plnkr

答案 3 :(得分:0)

试试这个

function timeConvert (time) {
  time = time.toString ().match (/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time];

  if (time.length > 1) { 
    time = time.slice (1);  
    time[5] = +time[0] < 12 ? 'AM' : 'PM';
    time[0] = +time[0] % 12 || 12;
  }
  return time.join ('');
}

timeConvert ('19:00:00');

out:“7:00:00 PM”