.NET日期添加天数

时间:2011-05-19 00:50:40

标签: c# .net vb.net datetime datetime-format

我的日期格式为“1999-05-31T13:20:00.000-05:00”我想为它添加几个小时或几天。有人可以建议如何使用这种格式和AddDays或AddHours吗?结果需要返回相同的格式。

4 个答案:

答案 0 :(得分:9)

尝试使用DateTimeOffset.Parse。然后使用AddDaysAddHours

如果要保留解析后的相同时区偏移量,请务必使用DateTimeOffset而不是DateTime。

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

如果您不喜欢“O”格式,可以使用:

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

这将与您的格式100%匹配。

答案 1 :(得分:2)

示例:

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")

答案 2 :(得分:0)

使用DateTime.Parse(...)创建DateTime对象。然后,您可以添加日期和/或小时,然后ToString()以获取新字符串。

答案 3 :(得分:0)

看起来像datetimeoffset。也许来自sql server?您应该能够使用datetimeoffset结构和parse方法。一旦有了datetimeoffset类型,就可以使用addhours或相关方法。