2011-06-09 46 views
3

我想創建一個字符串來顯示當前的日期和時間,而不想使用任何斜槓只是數字。爲什麼時間來到0000當我在C#中使用今天的日期

例如,09 jun 2011 11AM201109061100

但是當我運行下面的代碼的時間總是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"); 

不限想法如何獲得正確的時間?

+2

除了下面的答案,也請注意,你可以結合你的'ToString'調用到一個呼叫'的ToString(」 yyyyddMMHHmm「)',參見@ Alex的回答。 – 2011-06-09 07:07:04

+0

0000或+0000我認爲這是時區,無論如何你可以格式化日期並擺脫它很容易。 – Radu 2011-06-09 07:12:10

回答

5

DateTime.Today似乎返回日期部分而不是小時部分。

只需使用DateTime.Now即可獲得完整時間。

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

:資源下載DateTime.Today

因爲它沒有返回當前時間的當前日期,今天屬性適用於僅與日期運行的應用程序使用。有關詳細信息,請參閱在DateTime,DateTimeOffset和TimeZoneInfo之間選擇。相比之下,TimeOfDay屬性返回當前時間而不包含當前日期,Now屬性返回當前日期和當前時間。

+0

感謝這工作:) – Prady 2011-06-09 07:07:53

2

使用DateTime.Now而不是.Today。 「今天」過濾出「時間」部分,因此它有效地返回午夜(0:00)。

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

這是因爲今天返回到你只有今天的日期,而不是今天的時間:)

相關問題