我构建了一个动态表单系统,它接受文本字段,下拉列表和日期时间类型。
表单答案也是动态的,所有内容都以文本形式存储,或者将ID的文本版本存储到下拉列表答案中。
对于日期时间,我想知道将c#datetime序列化为文本的最佳格式是什么,纯粹用于seralisation。我已经和Unix tics扩展工作,我可以使用这个以及我的javascript调用。但我觉得有更好的选择。
显然DateTime.Parse将在回来的路上使用,但在出路时要使用什么?
答案 0 :(得分:4)
您只需将ToString
与适当的standard或custom日期/时间格式字符串一起使用。
但是,你需要非常小心:
CultureInfo.InvariantCulture
执行转换(同样在解析时)以避免特定于文化的值Kind
的{{1}}。这些值是否始终是本地的,通用的或未指定的DateTime
值?您是否应该实际使用DateTime
并序列化偏移?DateTimeOffset
本身保持相同的精度。 (标准DateTime
或o
格式字符串将生成ISO-8601字符串。)答案 1 :(得分:0)
对于往返日期时间值the obvious solution is to use the "o" format specifier。
除非你对字符串的长度有限制,并准备牺牲精度,Kind属性(UTC或Local),或两者兼而有之。在这种情况下,请使用符合您需求的自定义格式字符串。