gpt4 book ai didi

breeze - 在 Breeze 中处理日期

转载 作者:行者123 更新时间:2023-12-02 22:20:06 29 4
gpt4 key购买 nike

我在处理日期时遇到了一些问题。

我有一个带有日期字段的对象:

public DateTime FechaInicio{get;设置;

此定义在数据库中生成以下字段:

FechaInicio 日期时间不为空

向网络服务发出请求,我得到以下格式的日期(在 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 中与缓存中的实体合并:if (!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);
}

如果我错了请纠正我,但我认为这就是问题所在。

最佳答案

抱歉拖了这么久...

Breeze 的 DateTime 时区序列化和用于具有非空日期字段的新建实体的默认 DateTime 值存在错误。从 v 0.77.2 开始,这些已修复。请确认这组修复是否适合您。

感谢您找到这些。

为了回答您的问题,对象上的所有日期属性都应设置为 javascript Dates。 Breeze 应该正确处理所有序列化问题。

关于breeze - 在 Breeze 中处理日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13839562/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com