我想以正确的格式显示当前日期 例如:2016年12月19日。 现在我正在使用Date.now()。但它显示垃圾值,我想只显示日期。 我也使用管道,但管道不与数据库绑定。现在我使用formcontrol,它使用Date.now()获取当前日期。后来我必须在网格中用html显示这个日期。 我目前的代码是。 Date.js文件:
var mongoose = require('mongoose');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
PurchaseOrderSchema = new Schema({
PurchaseOrderNo: {
type: Number,
required: true,
index: {
unique: true
}
},
Status:String,
OrderDate: {
type: Date,
"default": Date.now()
}
}
{ collection: 'PurchaseOrder' });
PurchaseOrderSchema.set('toObject', { getters: true });
PurchaseOrderSchema.set('toJSON', { getters: true });
PurchaseOrderSchema.virtual('locationname').get(function() {
return this.Locations[0].ParentId.LocationName;
});
PurchaseOrderSchema.virtual('Tempvendor').get(function() {
return this.Vendors[0].ParentId.VendorName;
});
PurchaseOrderSchema.statics.delete_by_name = function(name, cb_succ, cb_fail) {};
var PurchaseOrder = mongoose.model('PurchaseOrder', PurchaseOrderSchema);
module.exports = PurchaseOrder;
newpurchaseorder.ts file:
export class NewPurchaseOrderComponent implements OnInit {
private PurchaseOrderNo = new FormControl("", Validators.required);
private OrderDate = new FormControl("");
this.OrderDate=Date.now();
ngOnInit() {
this.addClassForm = this.formBuilder.group({
PurchaseOrderNo:this.PurchaseOrderNo,
OrderDate: this.OrderDate,
});
}
}
newpurchageorder.html file:
<section class="page-form-ele page">
<section class="panel panel-default">
<div class="panel-heading"><span class="glyphicon glyphicon-th"></span>Purchase Order</div>
<div class="panel-body" data-ng-controller="TabsDemoCtrl">
<div class="row">
<div class="col-sm-12">
<div class="heading-container">
<div class="row">
<div class="col-sm-6 margin-top-13">
<h3 class="h3-color">New Purchase Order</h3>
</div>
<div class="col-sm-6" align="right">
<form class="form-horizontal margin-bottom-0 margin-top-6" [formGroup]="addClassForm" (ngSubmit)="submitAdd()" role="form">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Date:</label>
<div class="col-sm-4">
<input type="number" class="form-control" [(ngModel)]="OrderDate" id="orderdate" placeholder="Order Date..." formControlName="OrderDate" required readonly="true" >
</div>
</div>
</div>
</div>
</form>
</section>
答案 0 :(得分:1)
服务器端通常会生成一个带有ISO8601日期2016-12-19
或unix时间戳1482140260
当它通过电线发送到角度时,它不是日期。它是一个字符串或一个需要转换为javascript日期的数字。
这是因为json标准不会自动反序列化日期。
您需要手动执行此操作。
this.http.get('/api/mydata')
// Convert to json first
.map(r => r.json())
// Convert the items dates to javascript dates
.map(items => {
// Loop over the javascript array and convert the dates...
items.forEach(i => {
// before parse
// i.date = '2016-12-19';
i.date = new Date(i.date);
// i.date now is a correct javascript Date object
});
return items;
})