如何將DateTime轉換爲Integer值?
將日期時間轉換爲字符串值?
編輯:如何將DateTime轉換爲字符串值?
例
String return value of 20100626144707 (for 26th of June 2010, at 14:47:07)
如何將DateTime轉換爲Integer值?
將日期時間轉換爲字符串值?
編輯:如何將DateTime轉換爲字符串值?
例
String return value of 20100626144707 (for 26th of June 2010, at 14:47:07)
即不能被表示爲一個整數,它會溢出。但是,這可能會很長。
DateTime dateTime = new DateTime(2010, 6, 26, 14, 44, 07);
long time = long.Parse(dateTime.ToString("yyyyMMddHHmmss"));
然而,這將是更直觀簡單表達它作爲一個字符串,但我不知道你打算用這些信息做什麼。
編輯:
既然你已經更新了這個問題,答案是簡單的。
string time = dateTime.ToString("yyyyMMddHHmmss");
32位整數不足以將DateTime值保留爲非常精確的分辨率。 Ticks屬性很長(Int64)。如果你並不需要精確到蜱級別,你可以得到類似秒鐘從紀元:
TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
int dateAsInteger = (int)t.TotalSeconds;
它通常是一個壞主意,使用數字數據類型來存儲一個數字,你不能做算術上。例如。在你的例子中的數字沒有數字含義或值,添加它或減去它是毫無意義的。但是,自特定日期以來的秒數是,它可用作數字數據類型。
從他的樣品,它看起來像他只是想要將實際日期表示爲以年,月,日等開始的數字。 – 2010-06-26 04:12:36
他沒有要求秒數,請再次閱讀問題 – 2010-06-26 04:13:17
@Srin:原始問題中的示例確實顯示秒數。 – 2010-06-26 04:19:00
注意:這是在問題改爲「字符串值」而不是「整數值」之前發佈的。
從本質上講,你要沿着所需的各部分名額轉移號碼,然後將其添加:
var x = new DateTime(2010,06,26,14,47,07);
long i = x.Year;
i = i * 100 + x.Month;
i = i * 100 + x.Day;
i = i * 100 + x.Hour;
i = i * 100 + x.Minute;
i = i * 100 + x.Second;
Console.WriteLine(i); // 20100626144707
感謝提示響應:) – 001 2010-06-26 04:27:23