我在处理日期时遇到了一些麻烦。
我有一个带有日期字段的对象:
公共日期时间 FechaInicio{get; 放;}
此定义在数据库中生成以下字段:
FechaInicio 日期时间不为空
向 Web 服务发出请求,我得到以下格式的日期(在 JSON 中):
“FechaInicio”:“1982-12-02T00:00:00”
并在 tne 实体上调用 FechaInicio() 返回一个 javascript Date 对象。
创建一个新实体我得到以下值:
createPalanca var = function () {
MetadataStore var = manager.metadataStore;
metadataStore.getEntityType palancaType = var ("Toggle");
palancaType.createEntity newPalanca = var ();
manager.addEntity (newPalanca);
//Here: newPalanca.FechaInicio () has the value in this format: 1355313343214
//Expected Date object here
newPalanca return;
};
毕竟,我真正的问题是:我应该使用什么格式来为日期类型字段分配新值?
编辑:
在做了一些测试之后,我注意到如果我为属性分配一个 Date 对象,一切似乎都很好,直到我们到达这一行:
saveBundleStringified var = JSON.stringify (saveBundle);
saveBundle 内容为:
FechaInicio: Thu Dec 20 2012 00:00:00 GMT+0100 (Hora estándar romance)
和 saveBundleStringified:
"FechaInicio": "2012-12-19T23:00:00.000Z" <- I guess this is utc format
最后存入数据库的是:2012-12-19 23:00:00.0000000
当调用 SaveChanges 的结果被返回时,它们会在执行此检查的函数 updateEntity 处与缓存中的实体合并:如果 (!core.isDate(val)) 返回 false。结果,它创建了一个带有错误日期的新 Date 对象:
function fastDateParse(y, m, d, h, i, s, ms){ //2012 12 19 23 00 00 ""
return new Date(y, m - 1, d, h || 0, i || 0, s || 0, ms || 0);
}
如果我错了,请纠正我,但我认为这就是问题所在。