.NET Date Add Days

11,018

Solution 1

Try using DateTimeOffset.Parse. Then use AddDays or AddHours.

It is important to use DateTimeOffset instead of DateTime if you want to preserve the same timezone offset that you parsed.

var dateTimeOffset = DateTimeOffset.Parse("1999-05-31T13:20:00.000-05:00");
var newDateTimeOffset = dateTimeOffset.AddHours(1);
var newDateTimeString = newDateTimeOffset.ToString("O");

if you don't like the way "O" formats, you can use this:

var newDateTimeString = newDateTimeOffset.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffK")

This will 100% match to your format.

Solution 2

Example:

txt_del.Text = Calendar1.SelectedDate.ToString("MM/dd/yyyy");
/* for date picking textbox*/

double d2 = double.Parse(txt_till.Text);
/*second textbox for number of days to add*/

DateTime  tom = Calendar1.SelectedDate.AddDays(d2);
/*for adding number of days to selected date*/

txt_total.Text = tom.ToString("MM/dd/yy")
Share:
11,018
Pit Digger
Author by

Pit Digger

Updated on June 04, 2022

Comments

  • Pit Digger
    Pit Digger almost 2 years

    I have date in this format "1999-05-31T13:20:00.000-05:00" I want to add some hours or days to it . Can some one suggest how to do that with this format and AddDays or AddHours ? Result need to return same format.

  • Pit Digger
    Pit Digger almost 13 years
    After adding days to it datefomat was changed can it stay in same format ?
  • Alex Aza
    Alex Aza almost 13 years
    @user608576 - You can use ToString() to convert to a string with any format.