C# DateTime Examples
C# Basic
C# Data Type
C# OOP
C# IO
C# Graphics & UI
C# Advanced
To get the Unix timestamp (number of seconds since January 1, 1970 UTC) in C#, you can subtract the DateTime
object representing the Unix epoch (January 1, 1970 UTC) from the current DateTime
object and get the total number of seconds using the TotalSeconds
property of the resulting TimeSpan
. Here's an example:
DateTime now = DateTime.UtcNow; DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); long unixTimestamp = (long) (now - unixEpoch).TotalSeconds;
To convert a DateTime
object to a Unix timestamp, you can use the same formula as above:
DateTime myDateTime = DateTime.Now; DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); long unixTimestamp = (long) (myDateTime.ToUniversalTime() - unixEpoch).TotalSeconds;
To convert a Unix timestamp to a DateTime
object, you can create a DateTime
object representing the Unix epoch (January 1, 1970 UTC) and add the number of seconds specified by the Unix timestamp:
long unixTimestamp = 1620726601; DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); DateTime myDateTime = unixEpoch.AddSeconds(unixTimestamp);
Note that in all of these examples, we are using the UTC timezone to ensure consistency and avoid issues with time zone offsets.
C# convert Unix timestamp to DateTime: Converting a Unix timestamp to a DateTime involves adding seconds to the Unix epoch (1970-01-01).
long unixTimestamp = 1609459200; // Example timestamp DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(unixTimestamp).DateTime; Console.WriteLine($"Converted DateTime: {dateTime}");
Getting current Unix timestamp in C#: To get the current Unix timestamp, subtract the Unix epoch from the current DateTime.
long currentUnixTimestamp = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; Console.WriteLine($"Current Unix timestamp: {currentUnixTimestamp}");
Convert DateTime to Unix timestamp in C#: Converting a DateTime to a Unix timestamp involves subtracting the Unix epoch and getting total seconds.
DateTime myDateTime = DateTime.Now; long unixTimestamp = (long)(myDateTime - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; Console.WriteLine($"Converted Unix timestamp: {unixTimestamp}");
Handling Unix timestamps with C# DateTime:
Using DateTime
to work with Unix timestamps requires adjusting for the Unix epoch.
long unixTimestamp = 1609459200; // Example timestamp DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(unixTimestamp).DateTime; Console.WriteLine($"Converted DateTime: {dateTime}");
Parsing Unix timestamp from string in C#: Parsing a Unix timestamp from a string and converting it to a DateTime.
string unixTimestampString = "1609459200"; // Example timestamp string long unixTimestamp = long.Parse(unixTimestampString); DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(unixTimestamp).DateTime; Console.WriteLine($"Converted DateTime: {dateTime}");
C# DateTime to Unix timestamp string: Converting a DateTime to a Unix timestamp string.
DateTime myDateTime = DateTime.Now; long unixTimestamp = (long)(myDateTime - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; string unixTimestampString = unixTimestamp.ToString(); Console.WriteLine($"Unix timestamp string: {unixTimestampString}");
Calculating time difference with Unix timestamps in C#: Calculating the time difference between two Unix timestamps.
long timestamp1 = 1609459200; // Example timestamp 1 long timestamp2 = 1610467200; // Example timestamp 2 TimeSpan timeDifference = DateTimeOffset.FromUnixTimeSeconds(timestamp2) - DateTimeOffset.FromUnixTimeSeconds(timestamp1); Console.WriteLine($"Time difference: {timeDifference}");
Unix timestamp to DateTimeOffset conversion in C#:
Converting a Unix timestamp to DateTimeOffset
to include timezone information.
long unixTimestamp = 1609459200; // Example timestamp DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(unixTimestamp); Console.WriteLine($"Converted DateTimeOffset: {dateTimeOffset}");
Epoch time representation in C#: Representing the Unix epoch time in C#.
DateTime epochTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); Console.WriteLine($"Epoch time: {epochTime}");
C# DateTimeOffset to Unix timestamp:
Converting a DateTimeOffset
to a Unix timestamp.
DateTimeOffset myDateTimeOffset = DateTimeOffset.Now; long unixTimestamp = (long)(myDateTimeOffset - new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero)).TotalSeconds; Console.WriteLine($"Converted Unix timestamp: {unixTimestamp}");