当我在C#中使用今天的日期时,为什么时间到了0000

时间:2011-06-09 07:03:13

标签: c# .net datetime string-formatting

我正在尝试创建一个字符串来显示当前的日期和时间,而不想仅使用任何斜杠数字。

例如,09 jun 2011 11AM应为201109061100

但是当我运行以下代码时,时间总是0000

输出:

ResultLog201109060000

代码:

DateTime currDate = DateTime.Today;
String resultlogFilename;
resultlogFilename = 
    "ResultLog" + 
    currDate.ToString("yyyy") + 
    currDate.ToString("dd") + 
    currDate.ToString("MM") + 
    currDate.ToString("HH") + 
    currDate.ToString("mm");

知道如何获得正确的时间吗?

4 个答案:

答案 0 :(得分:5)

DateTime.Today似乎返回Date部分而不是小时部分。

只需使用 DateTime.Now 即可获得完整的时间。

http://msdn.microsoft.com/en-us/library/system.datetime.now.aspx

Msdn DateTime.Today

因为它返回当前日期而没有当前时间,所以Today属性适用于仅使用日期的应用程序。有关详细信息,请参阅在DateTime,DateTimeOffset和TimeZoneInfo之间选择。相反,TimeOfDay属性返回当前时间而不是当前日期,Now属性返回当前日期和当前时间。

答案 1 :(得分:3)

var resultlogFilename = string.Format("ResultLog{0:yyyyddMMhhmm}", DateTime.Now);

答案 2 :(得分:2)

使用DateTime.Now代替.Today。 “今天”过滤掉“时间”部分,因此它有效地返回午夜(0:00)。

答案 3 :(得分:0)

因为今天只回到你今天的日期,而不是今天的时间:)