c# - 将字符串转换为 DateTimeOffset 的最佳方法?

标签 c# c#-4.0

我正在尝试将字符串转换为 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/

相关文章:

c# - MySQL .Net 连接器问题执行例程

c# - 同步方法中的异步调用

c# - NPOI 日期格式单元格

javascript - 使用 JavaScript 的文本框自动结果出现故障

.net - 如何在wpf文本框中自动化数字格式

c# - 如何在 linq-to-sql 中返回匿名类型

c# - 动态、linq 和 Select()

c# - 如何获取特定商店证书的CN?

c# - 使用 WIX 3.5 在 IIS 7/7.5 中添加/启用处理程序映射

c# - CSV实际上是....分号分隔值...(AZERTY上的Excel导出)