DateTime and TimeSpan Instances

   
 

using System;

class MainClass {
    public static void DisplayDateTime(string name, DateTime myDateTime) {
        Console.WriteLine(name + " = " + myDateTime);
        Console.WriteLine(name + ".Year = " + myDateTime.Year);
        Console.WriteLine(name + ".Month = " + myDateTime.Month);
        Console.WriteLine(name + ".Day = " + myDateTime.Day);
        Console.WriteLine(name + ".Hour = " + myDateTime.Hour);
        Console.WriteLine(name + ".Minute = " + myDateTime.Minute);
        Console.WriteLine(name + ".Second = " + myDateTime.Second);
        Console.WriteLine(name + ".Millisecond = " + myDateTime.Millisecond);
        Console.WriteLine(name + ".Ticks = " + myDateTime.Ticks);
    }
    public static void Main() {
        int year = 2008;
        int month = 8;
        int day = 25;
        DateTime myDateTime = new DateTime(year, month, day);

        int hour = 23;
        int minute = 30;
        int second = 12;
        int millisecond = 5;
        DateTime myDateTime2 = new DateTime(year, month, day, hour, minute, second, millisecond);

        System.Globalization.JulianCalendar myCalendar = new System.Globalization.JulianCalendar();
        DateTime myDateTime3 = new DateTime(year, month, day, myCalendar);

        DateTime myDateTime4 = new DateTime(0);

        DisplayDateTime("myDateTime", myDateTime);
        DisplayDateTime("myDateTime2", myDateTime2);
        DisplayDateTime("myDateTime3", myDateTime3);
        DisplayDateTime("myDateTime4", myDateTime4);

        TimeSpan myTimeSpan = new TimeSpan(4, 12, 10);
        myDateTime4 += myTimeSpan;
        DisplayDateTime("myDateTime4", myDateTime4);

    }

}

    


Offset of DateTime

   
 
using System;
public class MainClass {
    public static void Main() {

        DateTimeOffset local = DateTimeOffset.Now;
        DateTimeOffset utc = local.ToUniversalTime();

        Console.WriteLine(local.Offset);   // -06:00:00 (in Central America)
        Console.WriteLine(utc.Offset);     // 00:00:00

        Console.WriteLine(local == utc);                 // True
        //To include the Offset in the comparison, you must use the EqualsExact method:
        Console.WriteLine(local.EqualsExact(utc));      // False
    }
}

    


DateTime Now and its calculation

   
 

using System;
    class MainClass
    {
        public static void Main()
        {
            TimeSpan timespan1 = new TimeSpan(2, 12, 0, 0);
            TimeSpan timespan2 = new TimeSpan(4, 12, 0, 0);

            TimeSpan oneWeek = timespan1 + timespan2;

            DateTime now = DateTime.Now;

            DateTime past = now - oneWeek;

            DateTime future = now + oneWeek;

            Console.WriteLine("Now   : {0}", now);
            Console.WriteLine("Past  : {0}", past);
            Console.WriteLine("Future: {0}", future); 

       }
    }

    


Parse and ParseExact

   
 

   using System;
   
   class MainClass
   {
      public static void Main(string[] args)
      {
         DateTime dt1 = DateTime.Parse("Sep 2005");
         Console.WriteLine(dt1);
         DateTime dt2 = DateTime.Parse("Monday 5 September 2005 14:15:33");
         Console.WriteLine(dt2);
         DateTime dt3 = DateTime.Parse("5, 9,05");
         Console.WriteLine(dt3);
         DateTime dt4 = DateTime.Parse("5/9/2005 14:15:33");
         Console.WriteLine(dt4);
         DateTime dt5 = DateTime.Parse("2:15 PM");
         Console.WriteLine(dt5);

         DateTime dt6 = DateTime.ParseExact("2:13:30 PM", "h:mm:ss tt", null);
         Console.WriteLine(dt6);

         DateTime dt7 = DateTime.ParseExact("Mon, 05 Sep 2005 14:13:30 GMT","ddd, dd MMM yyyy HH':'mm':'ss 'GMT'", null);
         Console.WriteLine(dt7);

         DateTime dt8 = DateTime.ParseExact("September 05", "MMMM dd", null);

         Console.WriteLine(dt8);
       }
   }