asp.net如何将两个datetime日期组合为一个datetime对象?
我有 Datetime starttime='1/1/1900 6:00:00PM' Datetime ExamDate='12/9/2013 12:00:00PM' 我想把这些结合起来,这样结果 日期时间组合=开始时间+结束日期; 所以 结果日期时间='12/9/2013 6:00:00PM'asp.net如何将两个datetime日期组合为一个datetime对象?,asp.net,datetime,Asp.net,Datetime,我有 Datetime starttime='1/1/1900 6:00:00PM' Datetime ExamDate='12/9/2013 12:00:00PM' 我想把这些结合起来,这样结果 日期时间组合=开始时间+结束日期; 所以 结果日期时间='12/9/2013 6:00:00PM' 请帮忙谢谢我不能100%确定这是否是你想要实现的,但我会试试看。要向现有的DateTime对象添加时间,请使用TimeSpan类。例: TimeSpan StartTime = new TimeSpan
请帮忙谢谢我不能100%确定这是否是你想要实现的,但我会试试看。要向现有的
DateTime
对象添加时间,请使用TimeSpan
类。例:
TimeSpan StartTime = new TimeSpan(0, 6, 0, 0); //new time span of 6 hours
// create date time 2013-09-12 12:00
DateTime ExamDate = new DateTime(2013, 9, 12, 12);
//Add the 6 hour time span to your exam date to get combined date
DateTime Combined = ExamDate + StartTime;
如果您只想将starttime的时间部分添加到examDate
var startTime= DateTime.Parse("1/1/1900 6:00:00PM");
var examDate = DateTime.Parse("12/9/2013 12:00:00PM");
var result = examTime.Add(starttime.TimeOfDay);
这将导致:2013年9月13日上午6:00:00
我想你可能只是想把日期存储在examDate中,在这种情况下,将examDate设置为
12/9/2013 12:00:00AM
将给出:12/9/2013 6:00:00PM
,那么您是否只想将starttime
的时间部分添加到examDate
?您的预期结果不会通过标准日期时间算法实现,2013年9月12日下午12:00:00+6:00
的结果实际上是2013年9月13日上午6:00,因为下午6点是一天中的第18小时。你能解释一下为什么要将开始时间存储为完整的日期时间吗?你想实现什么?OP实际使用的是TimeSpan StartTime=new TimeSpan(0,18,0,0)但是,此解决方案仍然不能为他提供“2013年9月12日下午6:00:00”。不,OP没有使用任何时间跨度。此解决方案将2013年9月12日下午12点增加6小时,即2013年9月12日下午6点。但他的开始时间不代表时间跨度(0,6,0,0)。它与时间跨度(0,18,0,0)更为接近。我假设他没有硬编码他的开始时间,因此任何将他的考试日期推到第二天的时间都可能不是我们想要的。而且,他想将两个日期时间合并为一个。