我建立了一个动态表单系统,它接受文本字段、下拉列表和日期时间的类型。
表单答案也是动态的,所有内容都存储为文本或 id 的文本版本到下拉答案。
对于日期时间,我想知道将 ac# datetime 序列化为文本的最佳格式是什么,纯粹用于序列化。我已经不得不往返于 Unix tics 扩展工作,我可以使用它以及我的 javascript 调用。但我觉得有更好的选择。
显然 DateTime.Parse 会在回来的路上使用,但是在出去的路上使用什么呢?
您只需使用ToString
适当的标准或自定义日期/时间格式字符串。
但是,您需要非常小心:
CultureInfo.InvariantCulture
来执行转换(解析时也是如此)以避免特定于文化的值Kind
化DateTime
. 这些总是局部的、普遍的或未指定的DateTime
值吗?您是否也应该实际使用DateTimeOffset
和序列化偏移量?DateTime
。(标准o
或O
格式字符串将生成 ISO-8601 字符串。)对于往返 DateTime 值,显而易见的解决方案是使用“o”格式说明符。
除非您对字符串的长度有限制,并且准备牺牲精度、Kind 属性(UTC 或本地),或两者兼而有之。在这种情况下,请使用满足您需求的自定义格式字符串。