c# datetime classes code example

Example 1: c# datetime

// -------------------- DATE and TIME --------------------- //

// ------- DATETIME ------- //
// Create a DateTime object 
var year = 2020;
var month = 12;
var day = 3;

var date = new DateTime(year, month, day);


// Get the current date or time
var today = DateTime.Today;
var now = DateTime.Now;

Console.WriteLine(now.Hour);  // To get only the hour
Console.WriteLine(now.Minute);  // To get only the minutes


// How to modify DateTime objects?
var now = DateTime.Now;
var tomorrow = now.AddDay(1);
var monthBefore = now.AddMonths(-1);


// Convert DateTime to different string formats
var now = DateTime.Now;
string longDate = now.ToLongDateString();
string shortDate = now.ToShortDateString();
string normalDate = now.ToString("yyyy-MM-dd HH:mm");

// Convert string to DateTime
DateTime myDate = DateTime.Parse("2012-07-12");
//OR
DateTime myDate = DateTime.ParseExact("2009-05-08 14:40:52,531", "yyyy-MM-dd HH:mm:ss,fff",null);
 


// ------- TIMESPAN ------- //
// In this case we are working with duration or time intervals

// Create a TimeSpan object 
var hours = 2;
var minutes = 1;
var seconds = 7;

var timeSpan = new TimeSpan(hours, minutes, seconds);


// Get the timespan in hours, minutes, seconds,... 
var hourSpan = TimeSpan.FromHours(2);
var secondSpan = TimeSpan.FromSeconds(34);


// Convert DateTime to TimeSpan
var start = DateTime.Now;
var end = DateTime.Now.AddMinutes(90);

var duration = end - start; // The difference between 2 DateTimes returns a TimeSpan


// How to modify TimeSpan objects?
var duration = new TimeSpan(3, 6, 9);

var newDuration = duration.Add(TimeSpan.FromSeconds(26))       // Add 26 seconds
var newDuration = duration.Subtract(TimeSpan.FromSeconds(12))  // Subtract 12 seconds

  
// Convert a TimeSpan to a total of hours, minutes, seconds,... 
var timeSpan = new TimeSpan(2, 1, 0);
var totalMinutes = timeSpan.TotalMinutes; // Converts 2 hours and 1 minute to (60*2 + 1) minutes


// Convert a String to a TimeSpan
var duration = TimeSpan.Parse("04:07:12");
//OR
var duration = TimeSpan.ParseExact("23:59", @"hh\:mm", null) // This also verify if string is in that exact format of "hh:mm"

Example 2: c# datetime

var dat1 = new DateTime();
// The following method call displays 1/1/0001 12:00:00 AM.
Console.WriteLine(dat1.ToString(System.Globalization.CultureInfo.InvariantCulture));
// The following method call displays True.
Console.WriteLine(dat1.Equals(DateTime.MinValue));