我有2个值:
var dt1 = dtFromDate.Value;
var tm1 = tmFromTime.Value;
dt1 = 12/5/2013 12:00:00 AM
tm1 = 11/5/2013 9:00:00 AM
我想将日期时间设为:12/5/2013 9:00:00 AM
怎么可能?
答案 0 :(得分:2)
您可以使用重载的constructor创建新的DateTime
:
DateTime dt = new DateTime(
dt1.Year,
dt1.Month,
dt1.Day,
tm1.Hour,
tm2.Minute,
tm2.Second);
答案 1 :(得分:1)
您可以访问dt1
,Date
的时间部分访问tm1
,然后使用TimeOfDay
合并它们,从而获取+
的日期部分:
dt1.Date + tm1.TimeOfDay
答案 2 :(得分:0)
您可以使用该代码,使用Date
属性获取日期部分和Time
属性以获得时间部分:
var dt1 = DateTime.Parse("12/5/2013 12:00:00 AM"); // this is just a sample date
var tm1 = DateTime.Parse("11/5/2013 9:00:00 AM"); // this is just a sample date
var newDate = dt1.Date.Add(tm1.TimeOfDay); // the code to use
答案 3 :(得分:0)
DateTime
对象是不可变的,因此为了从一个DateTime
对象获取日期,而从另一个对象获取时间 - 您必须创建新的DateTime
对象。
有两种方法可以做到:
使用构造函数重载创建新的DateTime:
DateTime date1 =
new DateTime(dt1.Year, dt1.Month, dt1.Day, tm1.Hour, tm1.Minute, tm1.Second);
将字符串解析为DateTime:
var dateToParse =
String.Concat(dt1.ToString("yyyy.MM.dd ", CultureInfo.InvariantCulture),
tm1.ToString("HH:mm:ss", CultureInfo.InvariantCulture));
var date1 =
DateTime.ParseExact(dateToParse, "yyyy.MM.dd HH:mm:ss", CultureInfo.InvariantCulture);