C# 无法得到一天中的小时和分钟

C# 无法得到一天中的小时和分钟,c#,datetime,C#,Datetime,我正在尝试获取当前时间: date = "(" + DateTime.Today.Year.ToString() + "-" + DateTime.Today.Month.ToString() + "-" + DateTime.Today.Day.ToString() + " " + "(" + DateTime.Today.Hour.ToString() + ":" + DateTime.Today.Minute.ToString() +")" + ")"; 这应该得到如下日期: (2

我正在尝试获取当前时间:

date = "(" + DateTime.Today.Year.ToString() + "-" + 
DateTime.Today.Month.ToString() + "-" + DateTime.Today.Day.ToString() + " " + 
"(" + DateTime.Today.Hour.ToString() + ":" + DateTime.Today.Minute.ToString() 
+")" + ")";
这应该得到如下日期:

(2013-2-1(13:01))

但它给了我:

(2013-2-1(0:0))


如何解决此问题?

使用DateTime.Now而不是DateTime.Today

将其时间部分设置为00:00:00
获取您正在使用的本地计算机的当前日期和时间,记录如下:

设置为今天日期的对象,时间组件设置为00:00:00

因此,是的,如果您找到
Hour
Minute
组件,它们将是0


如果需要一天中的当前时间,请改用。请注意,今天的
和现在的
都使用系统本地时区-您需要确保这确实是您想要使用的时区。(对于本地客户端应用程序可能没问题,但对于web应用程序则没有问题。)

您有
DateTime。今天的
会截断时间元素


使用
DateTime.Now
,它将提供完整的日期和时间。

使用
DateTime.Now
而不是
DateTime.Today
<代码>日期时间。今天不包括时间,只包括日期。另请参见:

如果是web应用程序,请使用。使用
DateTime.Now
表示本地日期和时间

因此,它应该是:

date = "(" + DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString() + " " + "(" + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() +")" + ")";

使用DateTime对象的ToString()方法,而不是当前使用的所有连接

string date = DateTime.Now.ToString("(yyyy-M-d (hh:mm))");

此外,正如许多其他人所指出的,请注意使用
DateTime.Now
而不是
DateTime。今天

请根据您的格式为当前日期和时间尝试此较短的代码


var date=DateTime.Now.ToString(“(yyyy-MM-dd(HH:MM))”

使用以下代码而不是串联。它比您所做的连接工作优化得多

string date = DateTime.Now.ToString("(yyyy-M-d (hh:mm))");

还有
DateTime。今天
中没有时间元素。

DateTime。今天
将返回u
2013-2-1 00:00:00
。。它给出了确定的时间,但时间戳设置为
00:00:00。
。这就是为什么您没有得到异常n仍然得到
00:00:00
。使用
DateTime.Now
作为当前时间戳。

使用
DateTime.Now
DateTime.Today
只提供我认为的日期。哇!3个答案相隔26秒-如果你算上上面的评论,则为4个。:-)请使用
date=DateTime.Now.ToString(@“(yyyy \-MM \-dd(HH\:MM))”
代替该选项。此外,不确定人们为什么会对该问题投反对票。对我来说,这似乎不是一个坏问题。它显示出对日期时间如何工作缺乏了解,但随后所有的问题都显示出对某些东西缺乏了解,这就是问题被问到的原因。添加@ColinMackay后,还可以对downvoteCalling
DateTime进行评论。现在多次
从来都不是一件好事。野田佳彦的时间非常棒,但它并不局限于web应用程序。这段代码并没有演示野田佳彦的时间,所以我不确定你的意思是什么。