2014-01-27 41 views

回答

8
var startTime = DateTime.Now.Date; 
var minsOfDay = 
    Enumerable.Range(0, 1440).Select(i => startTime.AddMinutes(i)).ToList(); 
+0

minsOfDay有12小時制格式。我怎樣才能使它24小時制?謝謝。 – 1teamsah

+0

@ team16sah:DateTime沒有任何格式。這是一個時間模型。 「格式」來自渲染到字符串。你需要檢查ToString的重載,並使用格式字符串來顯示你想要的。也許'ToString(「HH:mm」)'可能有用嗎? – spender

+0

我想在範圍0到480之間添加一些日期,範圍在480到720之間的某個不同日期以及範圍在720到1440之間的另一個日期。我該怎麼做?謝謝。 – 1teamsah

2

較長,但更易於理解的方式:

var timeStart = DateTime.Now.Date; 
var timeStop = DateTime.Now.Date.AddDays(1); 
var mins = new List<DateTime>(); 

while(timeStart < timeStop) 
{ 
    mins.Add(timeStart); 
    timeStart = timeStart.AddMinutes(1); 
} 
2

作爲替代方案,可以使用List<string>AddMinutes方法,如;

List<string> list = new List<string>(); 
DateTime midnight = DateTime.Today; 
while (midnight < DateTime.Today.AddDays(1)) 
{ 
    list.Add(midnight.ToString("HH:mm")); 
    midnight = midnight.AddMinutes(1); 
} 
foreach (var item in list) 
{ 
    Console.WriteLine(item); 
} 

這裏一個demonstration

+0

我需要日期時間列表。這也是有用的。謝謝。 – 1teamsah

+0

@ team16sah'00:00,00:01,00:02' ..不是'DateTime'。即使'DateTime.Hour'和'DateTime.Minute'屬性也會返回'int'。你只能通過'.ToString()'方法獲取這些值來格式化你的日期時間。甚至[spender的回答](http://stackoverflow.com/a/21381185/447156)創建'List ',但他的結果將是' 27.01.2014 00:00:00','27.01.2014 00:00:01'等。 –

相關問題