使用LinQ将字符串中的stringdate部分与C#.NET中的datetime进行比较

使用LinQ将字符串中的stringdate部分与C#.NET中的datetime进行比较,c#,.net,linq,datetime,C#,.net,Linq,Datetime,请帮助我如何使用Linq或任何简单的方法将字符串中的部分日期与C#NET中的确切日期时间进行比较 例如: // 10/23/2013 03:43:56 PM string fileImageName = "Picture_MIGA1_2013_10_23_15_43_56.png"; 使用DateTime.TryParseExact(除其他外): 编辑 如何使用LinQ查询进行编写 你没有提到你有什么类型的选择。因此,为了简化单个字符串,我展示了一个带有列表的示例: var fileName

请帮助我如何使用Linq或任何简单的方法将字符串中的部分日期与C#NET中的确切日期时间进行比较

例如:

//  10/23/2013 03:43:56 PM
string fileImageName = "Picture_MIGA1_2013_10_23_15_43_56.png";

使用
DateTime.TryParseExact
(除其他外):

编辑


如何使用LinQ查询进行编写

你没有提到你有什么类型的选择。因此,为了简化单个字符串,我展示了一个带有
列表的示例:

var fileNames = new List<string>() { "Picture_MIGA1_2013_10_23_15_43_56.png" };
List<string> allMatching = fileNames
.Where(fn =>
{
    var tokens = Path.GetFileNameWithoutExtension(fn).Split('_');
    var dateTokens = tokens.Skip(Math.Max(0, tokens.Length - 6)).Take(6).ToArray();
    if (dateTokens.Length == 6)
    {
        DateTime dt;
        DateTime.TryParseExact(
            string.Join("_", dateTokens),
            "yyyy_MM_dd_HH_mm_ss",
            CultureInfo.InvariantCulture,
            DateTimeStyles.None,
            out dt);
        return toCompare == dt;
    }
    return false;
}).ToList();
var fileNames=newlist(){“Picture\u MIGA1\u 2013\u 10\u 23\u 15\u 43\u 56.png”};
List allMatching=文件名
.其中(fn=>
{
var tokens=Path.GetFileNameWithoutExtension(fn).Split(“”);
var dateTokens=tokens.Skip(Math.Max(0,tokens.Length-6)).Take(6.ToArray();
if(dateTokens.Length==6)
{
日期时间dt;
DateTime.TryParseExact(
string.Join(“25;”,日期标记),
“yyyy_MM_dd_HH_MM_ss”,
CultureInfo.InvariantCulture,
DateTimeStyles。无,
输出dt);
返回比较==dt;
}
返回false;
}).ToList();

使用
DateTime.TryParseExact
(除其他外):

编辑


如何使用LinQ查询进行编写

你没有提到你有什么类型的选择。因此,为了简化单个字符串,我展示了一个带有
列表的示例:

var fileNames = new List<string>() { "Picture_MIGA1_2013_10_23_15_43_56.png" };
List<string> allMatching = fileNames
.Where(fn =>
{
    var tokens = Path.GetFileNameWithoutExtension(fn).Split('_');
    var dateTokens = tokens.Skip(Math.Max(0, tokens.Length - 6)).Take(6).ToArray();
    if (dateTokens.Length == 6)
    {
        DateTime dt;
        DateTime.TryParseExact(
            string.Join("_", dateTokens),
            "yyyy_MM_dd_HH_mm_ss",
            CultureInfo.InvariantCulture,
            DateTimeStyles.None,
            out dt);
        return toCompare == dt;
    }
    return false;
}).ToList();
var fileNames=newlist(){“Picture\u MIGA1\u 2013\u 10\u 23\u 15\u 43\u 56.png”};
List allMatching=文件名
.其中(fn=>
{
var tokens=Path.GetFileNameWithoutExtension(fn).Split(“”);
var dateTokens=tokens.Skip(Math.Max(0,tokens.Length-6)).Take(6.ToArray();
if(dateTokens.Length==6)
{
日期时间dt;
DateTime.TryParseExact(
string.Join(“25;”,日期标记),
“yyyy_MM_dd_HH_MM_ss”,
CultureInfo.InvariantCulture,
DateTimeStyles。无,
输出dt);
返回比较==dt;
}
返回false;
}).ToList();

您可以使用DateTime.tryparseexact您可以显示此字符串表示日期时间的方式吗?您可以使用DateTime.tryparseexact您可以显示此字符串表示日期时间的方式吗?如何使用LinQ query编写如何使用LinQ query编写