我有这种格式的日期“1999-05-31T13:20:00.000-05:00”我想给它添加几个小时或几天。有人可以建议如何使用这种格式和AddDays或AddHours?结果需要返回相同的格式。.NET日期添加日期
回答
尝试使用DateTimeOffset.Parse
。然后使用AddDays
或AddHours
。
如果您想保留您解析的相同时区偏移量,则使用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%匹配到你的格式。
将日期添加到datefomat后,它可以保持相同的格式吗? – 2011-05-19 01:08:03
@ user608576 - 您可以使用ToString()将其转换为任何格式的字符串。 – 2011-05-19 01:24:02
使用DateTime.Parse(...)
创建DateTime
对象。然后你可以添加几天和/或几小时,然后ToString()
获得新的字符串。
将它返回相同的格式恭喜? – 2011-05-19 00:56:12
这取决于您在ToString()中指定的格式 – 2011-05-19 00:57:10
看起来像datetimeoffset。也许从SQL Server?你应该能够使用datetimeoffset结构和解析方法。一旦你有一个datetimeoffset类型,你可以使用addhours或相关的方法。
例子:
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")
- 1. C#在指定日期添加日期
- 2. 将日期添加到特定日期
- 3. 将日期添加到日期
- 4. R将日期添加到日期
- 5. 添加日期至日期时间
- 6. 将日期添加到当前日期
- 7. 将日期添加到日期
- 8. sqlite添加日期到一个日期
- 9. 将日期添加到日期并计算结束日期?
- 10. PHP,添加日期();?
- 11. 添加日期列
- 12. 从Jtextfield获取日期并添加过期日期
- 13. 向@Today添加日期
- 14. 添加日期和MYSQL
- 15. PHP添加日期时间
- 16. MVCjqGrid。添加日期列
- 17. 添加一天的日期
- 18. 需要添加日期
- 19. 添加到日期时间
- 20. 根据日期添加值
- 21. 添加列 “以前日期”
- 22. 在Javascript中添加日期(日)
- 23. Php将日历月添加到日期
- 24. 添加30天至日期(月/日/年)
- 25. 添加日期日历热图[R
- 26. C#:从cetain日期添加工作日
- 27. MYSQL将工作日添加到日期
- 28. 向日期添加一个星期()
- 29. .NET日期格式
- 30. .NET日期和JSON
使用ISO8601 :-) – SSS 2011-05-19 05:59:41