如何从Laravel API传递Javascript日期对象(格式化日期时间)

时间:2015-08-13 17:43:18

标签: javascript php datetime laravel

My Laravel 5 API从我的MySQL数据库中提取常规日期时间列。我的JSON日期时间输出如下所示:

2015-08-13 13:45:00

但是阅读我的JSON的小部件需要一个JavaScript Date对象?将我的日期时间作为JavaScript日期对象传递的语法是什么?

我目前的Laravel方法如下:

public function transform($events)
{
    return [
        'startdt' => $events['event_start'],
        'enddt'   => $events['event_end'],
    ];
}

这是(部分)生成的JSON:

{
    "events": 
[
{
    "startdt": "2015-07-15T20:49:00+00:00",
    "enddt": "2015-07-15T20:49:00+00:00"
},
{
    "startdt": "2015-07-15T20:53:00+00:00",
    "enddt": "2015-07-15T20:53:00+00:00"
},

这是我的widget JS文件中的代码:

'use strict';

angular
  .module('demo', ['mwl.calendar', 'ui.bootstrap', 'ngTouch', 'ngAnimate'])
  .controller('MainCtrl', function ($modal, moment, $http) {

var vm = this;
vm.calendarView = 'month';
vm.calendarDay = new Date();

$http.get('http://1.1.1.1/project/public/api/events').success(function(events) {    
    vm.events = events.events;
}); 

将日期时间解析为Javascript数据对象的语法是什么?

1 个答案:

答案 0 :(得分:0)

此代码将遍历您的数组并将日期字符串转换为日期对象。

$http.get('http://1.1.1.1/project/public/api/events').success(function(events) {
    for (var i = 0; i < events.events.length; i++) {
        events.events[i].startdt = new Date(events.events[i].startdt);
        events.events[i].enddt = new Date(events.events[i].enddt);
    }
    vm.events = events.events;
});