我正在尝试使用Newtonsoft.Json.JsonConvert对时间间隔进行反序列化/序列化,但是当JSON被发送时,它被设置为00:00:00。
这样做是否可能?
我正在尝试使用Newtonsoft.Json.JsonConvert对时间间隔进行反序列化/序列化,但是当JSON被发送时,它被设置为00:00:00。
这样做是否可能?
我尝试了#Jessycormier的方法,但对我没用。 我运行了DataContractJsonSerializer来查看它会生成什么,我发现它给了我一个更像这样的值。
{"PassedTimeSpan":"P1DT2H3M4S"}
上面显示的数值为1天,2小时,3分钟和4秒。
因此,格式应为:
[-]P[{days}D][T[{hours}H][{min}M][{sec}S]]
其中:
- 表示负时间跨度,正值可省略
P必须是第一个字符(除非是负时间值)
T必须在时间段的时间部分之前
[] = 可选省略部分,如果为0则可以省略。
Newtonsoft.Json.JsonSerializationException: '无法将当前JSON对象(例如{"name":"value"})反序列化为类型'System.TimeSpan',因为该类型需要一个JSON原始值(例如字符串、数字、布尔值、null)才能正确反序列化。
- EgoPingvina如果您应用准确的格式,可以使用TimeSpan。格式是:“0.00:00:00.0000”
将TimeSpan设置为30分钟
var jsonData = JSON.stringify({
myDataObject: {
TimeSpanValue : "0.00:" + $("#InputWithMinVal").val() + ":00.0"
}
});
Timespan
序列化格式。moment.duration('23:59:59');
moment.duration('23:59:59.999');
moment.duration('7.23:59:59.999');
moment.duration('23:59'); // added in 2.3.0