我的项目是
.net 3.5
。我有一个 DateTime 变量 dt1
仅包含日期部分。
现在我想将 DateTime 文字
# 13:45:39 #
的时间部分附加到 dt1
并分配给新的 DateTime 变量 dt2
。
有人知道怎么办吗
DateTime dt1 = #2016/12/31# ;
DateTime dt2 = /*code to append # 13:45:39 # to dt1 */ ;
我的项目是.net 3.5。我有一个 DateTime 变量 dt1 包含 仅日期部分
DateTime
是 .NET Framework 中的 struct
。它总是有日期和时间部分。通过这句话,我假设你的时间部分是00:00:00
就像;
DateTime dt1 = new DateTime(2016, 12, 31);
我想将 DateTime 文字 # 13:45:39 # 的时间部分附加到 dt1 和 分配给新的日期时间变量 dt2
TimeSpan
作为13:45:39
,您可以使用dt1
方法清楚地将此值添加到您的
DateTime.Add(TimeSpan)
;
TimeSpan ts = new TimeSpan(13, 45, 39);
dt1 = dt1.Add(ts);
如果这个
# 13:45:39 #
是一个字符串,你可以先用TimeSpan
方法将其解析为
ParseExact
,然后再次使用这个Add
方法,就像;
TimeSpan ts = TimeSpan.ParseExact("# 13:45:39 #", "'# 'hh\\:mm\\:ss' #'",
CultureInfo.InvariantCulture);
dt1 = dt1.Add(ts);
你可以这样做:
DateTime dt2 = new DateTime(dt1.Year, dt1.Month, dt1.Day, 13, 45, 39);
假设
DateTime literal # 13:45:39 #
表示您有一个用于日期的 DatetIme 和一个用于时间的 DatetIme,则可以使用 DateTIme.Add
和 DateTime.TimeOfDay
来获取时间跨度:
DateTime dtDate = new DateTime(2016, 12, 31);
DateTime dtTime = new DateTime(1, 1, 1, 13, 45, 39);
DateTime result = dtDate.Date.Add(dtTime.TimeOfDay);
如果提到的时间文字实际上是一个字符串,请使用
TimeSpan.Parse
/TryParse
:
string timeString = "# 13:45:39 #";
TimeSpan time = TimeSpan.Parse(timeString.Trim(' ', '#'));
result = dtDate.Date.Add(time);