如何为可编辑日期设置正确的日期格式

Posted

技术标签:

【中文标题】如何为可编辑日期设置正确的日期格式【英文标题】:How to set right date format for editable-date 【发布时间】:2015-01-05 16:08:36 【问题描述】:

我从 postgres 获得了一些日期文件,格式如下:

“2000-11-30T14:00:00.000Z”

我无法在页面上的可编辑日期字段中使用它。比如:

 <a href="#" editable-date="employee.brthday"
     onbeforesave="updateField($data, 'brthday', employee)">
         employee.brthday || 'empty' | date:"dd/MM/yyyy" 
 </a>

这个日期(如上)显示正常。但是当我想编辑此字段时,日期将重置,并且我在控制台中收到此消息:

Error: [ngModel:datefmt] Expected `2000-12-05T14:00:00.000Z` to be a date http://errors.angularjs.org/1.3.0/ngModel/datefmt?p0=2000-12-05T14%3A00%3A00.000Z
    at http://localhost:8000/bower_components/angular/angular.js:80:12
    at Array.<anonymous> (http://localhost:8000/bower_components/angular/angular.js:19453:17)
    at Object.ngModelWatch (http://localhost:8000/bower_components/angular/angular.js:20555:36)
    at Scope.$digest (http://localhost:8000/bower_components/angular/angular.js:13957:40)
    at Scope.$apply (http://localhost:8000/bower_components/angular/angular.js:14227:24)
    at htmlAnchorElement.<anonymous> (http://localhost:8000/bower_components/angular-xeditable/dist/js/xeditable.js:831:21)
    at HTMLAnchorElement.jQuery.event.dispatch (http://localhost:8000/bower_components/jquery/dist/jquery.js:4409:9)
    at HTMLAnchorElement.elemData.handle (http://localhost:8000/bower_components/jquery/dist/jquery.js:4095:28)

如果我只是通过编辑字段来更新模型(输入新日期),将来可以很好地编辑,因为日期存储像(Date obj?):

2000 年 12 月 6 日星期三 00:00:00 GMT+1000(Якутское время (зима))

如何将我的输入日期转换为可以理解的角度格式? 我还尝试用'new Date(input-date-here) 替换输入日期格式,但它不起作用。可能无法仅从字符串解析输入日期格式? 总结:我需要将输入日期格式转换为 Date obj 或通过 pg.js 日期字段(如 Date 对象)获取。我该怎么做?

【问题讨论】:

【参考方案1】:

Postgres 以 ISO 8601 格式存储日期,javascript Date 可以开箱即用地解析该格式,例如:

var x = new Date("2000-11-30T14:00:00.000Z");
console.log(x);

结果为@​​987654323@,这对于我的时区是正确的。

【讨论】:

【参考方案2】:

我为我找到了答案...我尝试在服务器端将输入日期转换为 Date obj,然后将 json 发送到客户端。在客户端,我总是将日期作为字符串,而不是作为 Date 对象。当我在客户端上执行 new Date(inputDate) 时,一切正常。

【讨论】:

以上是关于如何为可编辑日期设置正确的日期格式的主要内容,如果未能解决你的问题,请参考以下文章

C语言中怎么判断输入日期格式是不是正确,要求输入的格式为年-月-日,如1995-12-06

cad文本插入日期格式没有

导出具有指定日期格式的 Excel 工作表单元格

日期怎样设置成年月日时分格式?

Eclipse自动生成作者日期注释等功能设置

Eclipse自动生成作者日期注释等功能设置