C# 如何将DateTime文字的时间部分附加到DateTime变量?

C# 如何将DateTime文字的时间部分附加到DateTime变量?,c#,.net,datetime,append,literals,C#,.net,Datetime,Append,Literals,我的项目是.NET3.5。 我有一个DateTime变量dt1只包含日期部分,现在我想将DateTime literal的时间部分附加到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, dt

我的项目是.NET3.5。 我有一个DateTime变量
dt1
只包含日期部分,现在我想将DateTime literal
的时间部分
附加到
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 dt2 = new DateTime(dt1.Year, dt1.Month, dt1.Day, 13, 45, 39);

假设
DateTime literal#13:45:39#
意味着您有一个日期时间和一个时间,您可以使用
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);

假设
DateTime literal#13:45:39#
意味着您有一个日期时间和一个时间,您可以使用
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);
我的项目是.NET3.5。我有一个DateTime变量dt1,它包含 仅日期部分

是.NET Framework中的
结构。它总是有日期和时间部分。通过这句话,我假设你的时间部分是
00:00:00
like

DateTime dt1 = new DateTime(2016, 12, 31);
我想将DateTime literal的时间部分#13:45:39#附加到dt1和 分配给新的日期时间变量dt2

不清楚该文字在该句子中的含义,但如果您有as
13:45:39
,则可以使用类似的方法将该值添加到
dt1

TimeSpan ts = new TimeSpan(13, 45, 39);
dt1 = dt1.Add(ts);
如果这个
#13:45:39#
是一个字符串,您可以先用方法将它解析为
TimeSpan
,然后再像这样使用这个
Add
方法

TimeSpan ts = TimeSpan.ParseExact("# 13:45:39 #", "'# 'hh\\:mm\\:ss' #'", 
                                  CultureInfo.InvariantCulture);
dt1 = dt1.Add(ts);
我的项目是.NET3.5。我有一个DateTime变量dt1,它包含 仅日期部分

是.NET Framework中的
结构。它总是有日期和时间部分。通过这句话,我假设你的时间部分是
00:00:00
like

DateTime dt1 = new DateTime(2016, 12, 31);
我想将DateTime literal的时间部分#13:45:39#附加到dt1和 分配给新的日期时间变量dt2

不清楚该文字在该句子中的含义,但如果您有as
13:45:39
,则可以使用类似的方法将该值添加到
dt1

TimeSpan ts = new TimeSpan(13, 45, 39);
dt1 = dt1.Add(ts);
如果这个
#13:45:39#
是一个字符串,您可以先用方法将它解析为
TimeSpan
,然后再像这样使用这个
Add
方法

TimeSpan ts = TimeSpan.ParseExact("# 13:45:39 #", "'# 'hh\\:mm\\:ss' #'", 
                                  CultureInfo.InvariantCulture);
dt1 = dt1.Add(ts);

#13:45:39#
是字符串还是
时间跨度
#13:45:39#
是日期时间文字在C#中没有
日期时间
文字(与VB.NET相反)Re:
蒂姆·施梅尔特
为什么?
#2016/04/28#
是数据时间的文字吗?是的,但仅在VB.NET中。在C#中没有
DateTime
literal。在VB.NET中,可以通过以下方式声明
DateTime
变量:
Dim dt=#2016/04/28 35;
。这在C语言中不起作用或编译。是
#13:45:39
字符串还是
TimeSpan
#13:45:39
是DateTime literal在C语言中没有
DateTime
literal(与VB.NET相反)Re:
蒂姆·施梅尔特
为什么?
#2016/04/28#
是数据时间的文字吗?是的,但仅在VB.NET中。在C#中没有
DateTime
literal。在VB.NET中,可以通过以下方式声明
DateTime
变量:
Dim dt=#2016/04/28 35;
。这在C#中无法工作或编译。