如何将 DateTime 文字的时间部分附加到 DateTime 变量?
How to append time part of DateTime literal to a DateTime variable?
我的项目是.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 */ ;
你可以这样做:
DateTime dt2 = new DateTime(dt1.Year, dt1.Month, dt1.Day, 13, 45, 39);
假设DateTime literal # 13:45:39 #
意味着你有一个日期和时间的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);
My project is of .net 3.5. I have a DateTime variable dt1 containing
only Date part
DateTime
是 .NET Framework 中的 struct
。它总是 有日期和时间部分。通过这句话,我假设你的时间部分是00:00:00
喜欢;
DateTime dt1 = new DateTime(2016, 12, 31);
I want to append time part of DateTime literal # 13:45:39 # to dt1 and
assign to a new DateTime variable dt2
不清楚这个 literal 在那个句子中的意思,但是如果你有一个 TimeSpan
as 13:45:39
, you can clearly add this value to your dt1
with DateTime.Add(TimeSpan)
方法,比如;
TimeSpan ts = new TimeSpan(13, 45, 39);
dt1 = dt1.Add(ts);
如果这个 # 13:45:39 #
是一个字符串,你可以先用 ParseExact
方法将它解析为 TimeSpan
然后再使用这个 Add
方法像;
TimeSpan ts = TimeSpan.ParseExact("# 13:45:39 #", "'# 'hh\:mm\:ss' #'",
CultureInfo.InvariantCulture);
dt1 = dt1.Add(ts);
我的项目是.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 */ ;
你可以这样做:
DateTime dt2 = new DateTime(dt1.Year, dt1.Month, dt1.Day, 13, 45, 39);
假设DateTime literal # 13:45:39 #
意味着你有一个日期和时间的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);
My project is of .net 3.5. I have a DateTime variable dt1 containing only Date part
DateTime
是 .NET Framework 中的 struct
。它总是 有日期和时间部分。通过这句话,我假设你的时间部分是00:00:00
喜欢;
DateTime dt1 = new DateTime(2016, 12, 31);
I want to append time part of DateTime literal # 13:45:39 # to dt1 and assign to a new DateTime variable dt2
不清楚这个 literal 在那个句子中的意思,但是如果你有一个 TimeSpan
as 13:45:39
, you can clearly add this value to your dt1
with DateTime.Add(TimeSpan)
方法,比如;
TimeSpan ts = new TimeSpan(13, 45, 39);
dt1 = dt1.Add(ts);
如果这个 # 13:45:39 #
是一个字符串,你可以先用 ParseExact
方法将它解析为 TimeSpan
然后再使用这个 Add
方法像;
TimeSpan ts = TimeSpan.ParseExact("# 13:45:39 #", "'# 'hh\:mm\:ss' #'",
CultureInfo.InvariantCulture);
dt1 = dt1.Add(ts);