将日期添加到Firebase中

时间:2015-10-02 17:57:44

标签: firebase datestamp

有没有办法将日期选择器值添加到Firebase数据库?

这些方面的东西?

  $scope.AddPost = function() {
          ...
          Published: $scope.post.Published.DATESTAMP
          ...
        }

来自materialize datepicker值,如下所示:

<input type="date" ng-model="post.Published" class="datepicker">

选择器的服务器端代码:

<input type="text" ng-model="post.Published" class="datepicker ng-pristine ng-valid picker__input ng-touched picker__input--active picker__input--target" readonly="" id="P2078770150" tabindex="-1" aria-haspopup="true" aria-expanded="true" aria-readonly="false" aria-owns="P2078770150_root">

尝试:

$scope.AddPost = function() {
    myPosts.$add({
      Title: $scope.post.Title,
      Intro: $scope.post.Intro,
      Body: $scope.post.Body,
      Published: $scope.post.Published,
      Author:$scope.post.Author
    })

除日期外,所有内容都会加载。

我一直在寻找一个等价物,但只找到Firebase.ServerValue.TIMESTAMP这不是我想要的,因为我需要人们能够手动选择日期。

2 个答案:

答案 0 :(得分:1)

就像@Frank所说,根据你的要求,date可以存储为字符串或firebase中的时间戳。

$scope.AddPost = function() {
      ...
      Published: new Date($scope.post.Published).getTime();
      ...
    }

答案 1 :(得分:1)

我已经通过各种线程设法解决了这个问题。所以我

HTML

 <div class="form-group">
                        <label class="col-md-4 control-label" for="numDate">Choose a Date</label>
                        <input type="date" name="Published" ng-model="post.Published" class="datepicker" required>
                        <span class="error" ng-show="input.Published.$error.required">
                    </div>

在AddPost()函数中:

Published: new Date($scope.post.Published).getTime(),

<p>By: {{post.Author}} &nbsp; Published on: {{post.Published |    date:'mediumDate'}}</p>

所以我没有尝试在Add过程中进行转换,而是保留了一个Timestamp,然后在视图中转换它。

由于