Category >
CSHARP
|| Published on :
Tuesday, March 7, 2023 || Views:
646
||
C# Date and Time DateTime DateTimeOffset TimeSpan
Date and time manipulation is an important aspect of software development. In this article, we will cover the basics of working with dates and times in C# and provide examples of common use cases.
Working with Date and Time in C# can be a bit tricky, but luckily C# provides us with a lot of built-in classes and methods to make things easier. In this article, we will go over the most common use cases when working with dates and times in C#, and provide example C# codes for each case.
1. Creating Dates and Times
1.1 DateTime Structure
The DateTime
structure is the most commonly used structure for working with dates and times in C#. It represents a single point in time and has various constructors to create a DateTime
object from different inputs.
// Creating a DateTime object using the current date and time
DateTime now = DateTime.Now;
// Creating a DateTime object for a specific date and time
DateTime dateTime = new DateTime(2023, 3, 7, 12, 30, 0);
// Creating a DateTime object for a specific date (time set to midnight)
DateTime dateOnly = new DateTime(2023, 3, 7);
1.2 DateTimeOffset Structure
The DateTimeOffset
structure represents a single point in time with an offset from Coordinated Universal Time (UTC). It has various constructors to create a DateTimeOffset
object from different inputs.
// Creating a DateTimeOffset object using the current date and time
DateTimeOffset nowOffset = DateTimeOffset.Now;
// Creating a DateTimeOffset object for a specific date and time with a specified offset
DateTimeOffset dateTimeOffset = new DateTimeOffset(2023, 3, 7, 12, 30, 0, new TimeSpan(-5, 0, 0));
2. Formatting Dates and Times
2.1 DateTime Formatting
The DateTime
structure has a ToString()
method that can be used to format the date and time into a string representation. The ToString()
method can take a format string as an argument, which specifies how the date and time should be formatted. Here are some common format strings:
// Format string: "MM/dd/yyyy hh:mm:ss tt"
string formattedDateTime = dateTime.ToString("MM/dd/yyyy hh:mm:ss tt");
// Format string: "yyyy-MM-ddTHH:mm:ss.fffffffzzz"
string formattedDateTimeOffset = dateTimeOffset.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");
2.2 Custom DateTime Formatting
You can also create your own custom format strings to format dates and times in C#. Here are some examples:
// Format string: "yyyy-MM-dd"
string formattedDateOnly = dateOnly.ToString("yyyy-MM-dd");
// Format string: "MMMM dd, yyyy HH:mm:ss"
string formattedDateTimeCustom = dateTime.ToString("MMMM dd, yyyy HH:mm:ss");
3. Date and Time Arithmetic
3.1 Adding and Subtracting Time Intervals
The DateTime
and DateTimeOffset
structures have various methods to add and subtract time intervals from a date and time. Here are some examples:
// Adding days to a date
DateTime newDate = dateTime.AddDays(10);
// Subtracting hours from a date and time
DateTimeOffset newDateTimeOffset = dateTimeOffset.AddHours(-5);
3.2 Getting the Difference Between Two Dates and Times
You can use the TimeSpan
structure to represent a time interval between two dates and times. The DateTime
and DateTimeOffset
structures have a Subtract()
method that returns a TimeSpan
representing the difference between two dates and times. Here are some examples:
// Getting the difference between two dates and times
TimeSpan difference = dateTime