要导出以编辑表单的猫鼬日期值

Posted

技术标签:

【中文标题】要导出以编辑表单的猫鼬日期值【英文标题】:Mongoose date value to export to edit form 【发布时间】:2019-03-31 03:18:41 【问题描述】:

我有一个如下的数据模型:

var SiteSchema = new mongoose.Schema(
   DateFrom: Date,
   DateTo: Date,
);

如何将这些值导入我的编辑表单? 我尝试了以下方法:

Start Date: <input class="form-control" type="date" name="formValue[DateFrom]" value="<%= varReturnValue.DateFrom %>">
End Date: <input class="form-control" type="date" name="formValue[DateTo]" value="<%= varReturnValue.DateTo %>">

这里的结果截图: form result

在 mongo 上,我得到以下值:

DateFrom: 2017-12-01T00:00:00.000Z,
DateTo: 2018-10-26T00:00:00.000Z,

【问题讨论】:

重复问题display-a-date-on-an-edit-from-from-mongo-using-ejs 感谢您的信息。但我避免使用 moment,因为我只能为这个项目使用某些 npm 包。 【参考方案1】:

html 日期类型输入不支持 ISO 日期格式作为值。它应该是“YYYY-MM-DD”格式的输入显示。

在您接收数据的代码中使用此 sn-p:

varReturnValue.DateFrom = convertToYYYYMMDD(varReturnValue.DateFrom);
varReturnValue.DateTo = convertToYYYYMMDD(varReturnValue.DateTo);

function convertToYYYYMMDD(d) 
    date = new Date(d);
    year = date.getFullYear();
    month = date.getMonth()+1;
    dt = date.getDate();

    if (dt < 10) 
        dt = '0' + dt;
    
    if (month < 10) 
        month = '0' + month;
    
    return (year+'-' + month + '-'+dt);

【讨论】:

以上是关于要导出以编辑表单的猫鼬日期值的主要内容,如果未能解决你的问题,请参考以下文章

跨多个模型导出和重用我的猫鼬连接

跨多个模型导出和重用我的猫鼬连接

如果文件未导出,如何使用在单独文件中定义的猫鼬模型?

如何将日期格式从对象的猫鼬数组更改为 ejs 视图上的字符串?

如何在猫鼬模式中使用异步默认值?

只显示最近的猫鼬时间戳?