Best way to create a Midnight DateTime in C#

前端 未结 7 1111
南旧
南旧 2020-12-29 01:00

I need to create a midnight DateTime

I\'ve just done this:

DateTime endTime = DateTime.Now;
endTime.Subtract(endTime.TimeOfDay);

Ha

相关标签:
7条回答
  • 2020-12-29 01:14

    Just use foo.Date, or DateTime.Today for today's date

    0 讨论(0)
  • 2020-12-29 01:14

    You can use DateTime.Today with exact seconds of the midnight.

        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();
    

    This should print :

    Today: 11/24/2016 10:00:00 AM , Mid Night: 11/24/2016 11:59:59 PM
    
    0 讨论(0)
  • 2020-12-29 01:20

    DateTime.Now . AddDays(1) . Date

    0 讨论(0)
  • DateTime endTime = DateTime.Now.Date;
    

    Now endTime.TimeOfDay.ToString() returns "00:00:00"

    0 讨论(0)
  • 2020-12-29 01:23
        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 讨论(0)
  • 2020-12-29 01:27
    var dateMidnight = DateTime.ParseExact(DateTime.Now.ToString("yyyyMMdd"), "yyyyMMdd", CultureInfo.InvariantCulture);
    
    0 讨论(0)
提交回复
热议问题