我正在从iSeries中检索数据,其中有一个单独的日期和时间字段.我想将它们加入到我的C#项目的DateTime字段中.我没有看到为DateTime字段添加时间的方法.你会怎么建议完成这个?
Dav*_*d M 89
你可以很容易地做到这一点:
DateTime dateOnly;
DateTime timeOnly;
...
DateTime combined = dateOnly.Date.Add(timeOnly.TimeOfDay);
Run Code Online (Sandbox Code Playgroud)
TimeOfDay
返回a TimeSpan
,然后将其添加到日期.
编辑(感谢下面的评论者) - 为了安全起见,请使用dateOnly.Date
以确保仅限日期部分.
Ada*_*son 67
它们是如何存储的?假设日期部分存储为相关日期DateTime
的午夜时间且时间为a TimeSpan
,则可以添加它们.
DateTime date = ...;
TimeSpan time = ...;
DateTime result = date + time;
Run Code Online (Sandbox Code Playgroud)
您可以从"时间"字段轻松构建TimeSpan.
一旦你有了,那就做:
TimeSpan time = GetTimeFieldData();
dateField = dateField.Add(time);
Run Code Online (Sandbox Code Playgroud)
小智 5
Datetime date = new DateTime(Date1.Year, Date1.Month, Date1.Day, Time1.Hour, Time1.Minute, Time1.Second);
Run Code Online (Sandbox Code Playgroud)
我的答案涉及连接.NET 6DateOnly
和中的两个对象:TimeOnly
DateOnly orderDate = ...
TimeOnly orderTime = ...
DateTime orderDateTime = orderDate.ToDateTime(orderTime);
Run Code Online (Sandbox Code Playgroud)