如何将List <datetime>项目格式化为List <string>项目并格式化项目?

时间:2016-06-28 16:57:42

标签: c# .net winforms

类文件顶部的类

public static IEnumerable<T> Explode<T>(this T value, Func<T, T> next, Func<T, bool> limit)
    {
        yield return value;
        var n = next(value);
        while (!limit(n))
        {
            yield return n;
            n = next(n);
        }
    }

在构造函数

DateTime a = new DateTime(2016, 06, 24, 22, 00, 00);
DateTime b = new DateTime(2016, 06, 25, 13, 10, 00);
var result = a.Explode(x => x.AddMinutes(10), x => x > b).ToList();

列表结果中的第一项是:

[0] = {6/24/2016 10:00:00 PM}

第二项

[1] = {6/24/2016 10:10:00 PM}

现在我想将每个项目格式化为此格式,例如第一项:

20160624_2200

如果列表结果中的项目是AM,如:[2] = {6/24/2016 10:10:00 AM} 然后新格式应为:

20160624_1010

1 个答案:

答案 0 :(得分:4)

DateTime重载ToString(),允许使用特殊格式。你的意思是:

var result = a.Explode(x => x.AddMinutes(10), x => x > b)
    .Select(d => d.ToString("yyyyMMdd_HHmm")).ToList();