2008-10-29 25 views
59

Ben sadece bu yaptığım bir gece yarısı datetimeiyi yolu

oluşturmanız gerekir ama daha iyi/daha temiz bir yol var mı?

cevap

129

sadece bugünün tarihi için foo.Date veya DateTime.Today kullanmak

13

DateTime.Now.AddDays (1) .Date Şimdi

+6

Ben DateTime.Today.AddDays (1) 'Bu daha güzel' düşünüyorum. –

10
DateTime endTime = DateTime.Now.Date; 

endTime.TimeOfDay.ToString() döner "00:00:00"

2

You gece yarısı kesin saniye ile DateTime.Today kullanabilirsiniz.

DateTime today = DateTime.Today; 
    DateTime mid = today.AddDays(1).AddSeconds(-1); 
    Console.WriteLine(string.Format("Today: {0} , Mid Night: {1}", today.ToString(), mid.ToString())); 

    Console.ReadLine(); 

Bu basmalı:

Today: 11/24/2016 10:00:00 AM , Mid Night: 11/24/2016 11:59:59 PM 
+0

Bu çok yardımcı oldu ve bunu duymak istediğim şey tam olarak –

+0

@Matthias. Şerefe! – Aruna

+0

Gece yarısı ilk gecedir - günün ilk saniyesi, son değil. –

0
private bool IsServiceDatabaseProcessReadyToStart() 
    { 
     bool isGoodParms = true; 
     DateTime currentTime = DateTime.Now; 
     //24 Hour Clock 
     string[] timeSpan = currentTime.ToString("HH:mm:ss").Split(':'); 
     //Default to Noon 
     int hr = 12; 
     int mn = 0; 
     int sc = 0; 

     if (!string.IsNullOrEmpty(timeSpan[0])) 
     { 
      hr = Convert.ToInt32(timeSpan[0]); 
     } 
     else 
     { 
      isGoodParms = false; 
     } 

     if (!string.IsNullOrEmpty(timeSpan[1])) 
     { 
      mn = Convert.ToInt32(timeSpan[1]); 
     } 
     else 
     { 
      isGoodParms = false; 
     } 

     if (!string.IsNullOrEmpty(timeSpan[2])) 
     { 
      sc = Convert.ToInt32(timeSpan[2]); 
     } 
     else 
     { 
      isGoodParms = false; 
     } 

     if (isGoodParms == true) 
     { 
      TimeSpan currentTimeSpan = new TimeSpan(hr, mn, sc); 
      TimeSpan minTimeSpan = new TimeSpan(0, 0, 0); 
      TimeSpan maxTimeSpan = new TimeSpan(0, 04, 59); 
      if (currentTimeSpan >= minTimeSpan && currentTimeSpan <= maxTimeSpan) 
      { 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 
     else 
     { 
      return false; 
     } 
    } 
+0

StackOverflow'a hoş geldiniz. Bazı kodları sağlamanın yanı sıra, lütfen çözümünüzün neden işe yaradığı ve önceki çözümlerden nasıl farklı olduğu hakkında bazı ek ayrıntılar verin. – buczek