Calendar.AddTimeSpan
Overview
Returns a new date time with adding specified duration in calendar rules.
DateTimeOffset myCalendar.AddTimeSpan(dateTime:
DateTimeOffset, duration: string)
Arguments
DateTimeOffset dateTime
Date time value to added to
string duration
Duration in the "d.hh:mm:ss" or ISO-8601 duration format
Returns
A new date time.
Remarks
This method adds the given duration in business hours. If just need to add duration and find next business date time, please use Calendar.GetDateTime method instead.
In addition to ISO-8601 duration format, this method also supports the begin end specifiers for time periods. For example 'P0BD' means begin of the day and 'P0ED' means end of the day.
BD: Begin of the day, DE: End of the day, MB: Begin of the month, ME: End of the month, YB: Begin of the year, YE: End of the year.
P2BY: Adds 2 year to current date and rollbacks to beginning of the year
P1M2BD: Adds 1 month and 2 days to current date and rollbacks to beginning of the day
P1M2ED: Adds 1 month and 2 days to current date and forwards to end of the day
Example
Using duration format
// Adds 1 month, 1 day, 2 hour
var newDate = $Calendar.StandardCalendar.AddTimeSpan($Calendar.Today, 'P1M1DT2H');
Example
Using time span format
// Adds 1 day, 2 hours, 30 minutes and 45 seconds to the current time.
var newDate = $Calendar.StandardCalendar.AddTimeSpan($Calendar.Today, '1.02:30:45');
Duration This method adds the duration in business hours and may skip non-business dates while adding duration.
Example
For 09:00-18:00 business hours, adding 2 hours to 17:00 results next day 10:00 not 09:00
var nextDate = $Calendar.AddTimeSpan(DateTimeOffset.parse('2023-02-08T17:00'), 'PT2H');
// nextDate will be set to '2020-02-09T10:00'
Example
Adds exactly 1 day, 2 hours, 30 minutes and 45 seconds to the current time.
See Also
Copyright © 2010 - 2023 Emakin. All rights reserved.