2016-06-28 49 views
-2

类中的类文件的顶部我如何可以列出<DateTime>项目列表<string>项目和格式化项目?

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] = {2016年6月24日10:00 :00 PM}

第二项

[1] = {2016年6月24日下午十点10分00秒}

现在我想每个项目格式化该格式例如第一项:

20160624_2200

如果在列表结果的产品AM等:[2] = {2016年6月24日上午10点10分00秒} 那么新的格式应该是:

20160624_1010

+2

https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx –

+3

'。选择(d => d.ToString(” yyyyMMdd_HHmm“))' – juharr

回答

4

DateTimeToString()过载,允许特殊格式。你的会是这样:

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