Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
DateTimeOffset.AddMilliseconds() Method in C#
The DateTimeOffset.AddMilliseconds() method in C# returns a new DateTimeOffset object that adds a specified number of milliseconds to the value of the current instance. This method is useful for precise time calculations where millisecond accuracy is required.
The method accepts a double parameter representing the number of milliseconds to add. To subtract milliseconds, pass a negative value. The original DateTimeOffset instance remains unchanged as this method returns a new instance.
Syntax
Following is the syntax −
public DateTimeOffset AddMilliseconds(double value);
Parameters
value − A
doublerepresenting the number of milliseconds to add. Can be positive (to add) or negative (to subtract).
Return Value
Returns a new DateTimeOffset object whose value is the sum of the date and time represented by the current instance and the number of milliseconds represented by value.
Adding Milliseconds
The following example demonstrates adding 3000 milliseconds (3 seconds) to a DateTimeOffset instance −
using System;
public class Demo {
public static void Main() {
DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 08, 10, 4, 20, 10, new TimeSpan(-5, 0, 0));
Console.WriteLine("DateTimeOffset (before adding milliseconds) = {0}", dateTimeOffset);
DateTimeOffset res = dateTimeOffset.AddMilliseconds(3000);
Console.WriteLine("DateTimeOffset (after adding milliseconds) = {0}", res);
}
}
The output of the above code is −
DateTimeOffset (before adding milliseconds) = 8/10/2019 4:20:10 AM -05:00 DateTimeOffset (after adding milliseconds) = 8/10/2019 4:20:13 AM -05:00
Subtracting Milliseconds
The following example demonstrates subtracting 2000 milliseconds (2 seconds) from a DateTimeOffset instance −
using System;
public class Demo {
public static void Main() {
DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 08, 10, 4, 20, 10, new TimeSpan(-5, 0, 0));
Console.WriteLine("DateTimeOffset (before subtracting milliseconds) = {0}", dateTimeOffset);
DateTimeOffset res = dateTimeOffset.AddMilliseconds(-2000);
Console.WriteLine("DateTimeOffset (after subtracting milliseconds) = {0}", res);
}
}
The output of the above code is −
DateTimeOffset (before subtracting milliseconds) = 8/10/2019 4:20:10 AM -05:00 DateTimeOffset (after subtracting milliseconds) = 8/10/2019 4:20:08 AM -05:00
Practical Usage with Current Time
The following example shows how to use AddMilliseconds() with the current system time to create future timestamps −
using System;
public class Demo {
public static void Main() {
DateTimeOffset currentTime = DateTimeOffset.Now;
Console.WriteLine("Current Time: {0}", currentTime);
DateTimeOffset futureTime = currentTime.AddMilliseconds(5500);
Console.WriteLine("Future Time (+5.5 seconds): {0}", futureTime);
DateTimeOffset pastTime = currentTime.AddMilliseconds(-1500);
Console.WriteLine("Past Time (-1.5 seconds): {0}", pastTime);
}
}
The output of the above code is −
Current Time: 12/15/2023 10:30:45 AM +05:30 Future Time (+5.5 seconds): 12/15/2023 10:30:50 AM +05:30 Past Time (-1.5 seconds): 12/15/2023 10:30:44 AM +05:30
Conclusion
The DateTimeOffset.AddMilliseconds() method provides precise time manipulation by adding or subtracting milliseconds from a DateTimeOffset instance. It returns a new instance while preserving the original timezone offset, making it ideal for applications requiring millisecond-level time calculations.
