尽管执行了 ToString(),但在调试中我收到此错误:
UTC 日期时间正在转换为仅适用于本地时间的格式的文本。使用“z”格式说明符调用 DateTime.ToString 时可能会发生这种情况,该说明符将在输出中包含本地时区偏移量。在这种情况下,请使用“Z”格式说明符(指定 UTC 时间),或使用“o”格式字符串(这是在文本中保留日期时间的推荐方法)。当传递要由 XmlConvert 或 DataSet 序列化的 DateTime 时,也可能会发生这种情况。如果使用 XmlConvert.ToString,请传入 XmlDateTimeSerializationMode.RoundtripKind 以正确序列化。如果使用 DataSet,请将 DataColumn 对象上的 DateTimeMode 设置为 DataSetDateTime.Utc。
public static string ToInterfaceString(this DateTime value)
{
return value != DateTime.MinValue ? value.ToString("yyyy-MM-ddTHH:mm:sszzz") : string.Empty;
}
Run Code Online (Sandbox Code Playgroud)
在我刚刚开始开发的应用程序中,很多地方都使用了这种格式。那么实际上我应该做什么呢?把zzz换成Z?
更新 1:传递给我的扩展的 DateTime 被初始化为:
DateTimeCreated = DateTime.UtcNow;
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果我将一些其他 DateTime 对象传递给此扩展,我不会收到任何错误/警告。
| 归档时间: |
|
| 查看次数: |
4066 次 |
| 最近记录: |