首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linq字符串日期时间、间隔和字符串格式异常错误

linq字符串日期时间、间隔和字符串格式异常错误
EN

Stack Overflow用户
提问于 2013-10-08 02:15:15
回答 3查看 1.2K关注 0票数 0

我正在访问谷歌图书api访问他们的记录。问题是,它们将发布日期作为字符串。除了字符串,他们有记录为12-6月,6月等,这是无效的日期时间。现在,我想在下面的示例中,在有效的dates.how之间选择两个日期之间的记录,我可以这样做吗?

代码语言:javascript
复制
        List<datetest> datetest = new List<datetest>();
        datetest.Add(new datetest { stringdate = "13-june" });
        datetest.Add(new datetest { stringdate = "June" });
        datetest.Add(new datetest { stringdate = "2010-09-11" });
        datetest.Add(new datetest { stringdate = "2010-09-10" });
        datetest.Add(new datetest { stringdate = "2014-09-09" });

我已经尝试过date.parse和parse精确,这是不工作的格式。我不确定试着分析一下。如何使它在linq查询中工作。还有别的事吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-08 02:32:08

基于这个答案How to I use TryParse in a linq query of xml data?

代码语言:javascript
复制
Func<string, DateTime?> tryToGetDate = value =>
{
    DateTime dateValue;
    return DateTime.TryParse(value, out dateValue)
        ? (DateTime?) dateValue
        : null;
};

var dates = (
    from c in datetest
    where tryToGetDate(c.stringdate) != null
    select c
).ToList();
票数 4
EN

Stack Overflow用户

发布于 2013-10-08 02:32:56

这将为您提供所有有效日期:

代码语言:javascript
复制
var dates = datetest.Select(x =>
    {
        DateTime date;
        if (DateTime.TryParse(x.stringdate, out date))
            return date;

        return (DateTime?)null;
    }).Where(x => x.HasValue).ToList();

如果希望将无效日期包含为空,则可以删除.Where条件。

还请注意,13-june将被假定为本年度。

票数 1
EN

Stack Overflow用户

发布于 2013-10-08 02:27:28

您必须为每种格式编写单独的条件。基本上,尝试DateTime.Parse它,如果它失败,尝试评估它的每一种可能的格式,您可能必须解析。

如果您只想用null替换无效日期,那么对每个值执行如下操作:

代码语言:javascript
复制
DateTime Out = null;
DateTime.TryParse("YourString",out Out);

例如,如果您有一个字符串数组(称为Array):

代码语言:javascript
复制
DateTime?[] Result = Array.Select(x => 
{
    DateTime Out = null;
    DateTime.TryParse("YourString",out Out);
    return Out;
}).ToArray();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19237964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档