我无法使用Angularfire从firebase显示日期(存储为Unix时间戳整数)。
我有以下html:
<div class="form-group"">
<label for="message-followUp" class="control-label">Follow Up Date:</label>
<input type="date" id="message-followUp" ng-model="postToUpdate.followUp">
</div>
和以下控制器:
$scope.notePost = function (id) {
var firebaseObj = new Firebase("https://firebase_url/Records/" + id);
$scope.postToUpdate = $firebaseObject(firebaseObj);
};
在返回的数据中,我有一个名为'followUp'的密钥,其中包含Unix时间戳。显示html时出现以下错误:
错误:[ngModel:datefmt]预期
1466773470397
为日期
我希望我能在新的日期()中包装'postToUpdate.followUp',但这不起作用
如何将Unix时间戳转换为正确的日期格式(yyyy-MM-dd),以便显示而不会出现错误?
由于
答案 0 :(得分:0)
您从firebase检索的数据是一个字符串,并且inux时间戳在传递给new Date
时应该是一个整数。
$scope.notePost = function (id) {
var firebaseObj = new Firebase("https://firebase_url/Records/" + id);
$scope.postToUpdate = $firebaseObject(firebaseObj);
$scope.postToUpdate.$loaded(
function(data) {
console.log(data);
$scope.date = new Date(parseInt(data.followUp));
},
function(error) {
console.error("Error:", error);
}
);
};
<div class="form-group"">
<label for="message-followUp" class="control-label">Follow Up Date:</label>
<input type="date" id="message-followUp" ng-model="date">
</div>