我正在尝试将字符串转换为 DateTimeOffset。我正在使用 DatetimeOffset.Parse(string)。当字符串格式不正确时,Parse 显然会抛出异常。它无法解析 0000-00-00。
我想要一行代码告诉我解决这种情况的最佳方法。如果输入是 0000-00-00,那么它应该被转换为当前的 DateTimeOffset。
除 0000-00-00 之外的任何其他无法解析的字符串都应更改为 DateTimeOffset.Now。
最佳答案
如果我没有正确理解你的问题,你正在寻找
DateTimeOffset dto = (input == "0000-00-00" ? DateTimeOffset.Now : DateTimeOffset.Parse(input));
编辑 根据您对所有无效日期应默认为当前时间的说明,以下内容将执行此操作:
DateTimeOffset dto;
if(!DateTimeOffset.TryParse(input, out dto))
dto = DateTimeOffset.Now;
关于c# - 将字符串转换为 DateTimeOffset 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44299292/