2014-01-19 58 views
72

我想獲得有效的時間戳在我的應用程序,所以我寫道:如何獲得在C#中正確的時間戳

public static String GetTimestamp(DateTime value) { 
      return value.ToString("yyyyMMddHHmmssffff"); 
     } 
    ...later on in the code 
    String timeStamp = GetTimestamp(new DateTime()); 
    Console.WriteLine(timeStamp); 

輸出:

000101010000000000 

我想是這樣的:

20140112180244 

我做錯了什麼?

回答

106

你的錯誤是使用new DateTime(),返回1月1日,0001在00:00:00.000,而不是當前的日期和時間。正確的語法來獲得當前日期和時間是DateTime.Now,所以更改此:

String timeStamp = GetTimestamp(new DateTime()); 

這樣:

String timeStamp = GetTimestamp(DateTime.Now); 
+0

什麼是周圍的其他方式?從時間戳到日期時間 – DanielV

+2

@DanielV在這裏看到:[將字符串轉換爲日期時間](https://stackoverflow.com/q/919244/1905949)。 – ekad

+0

'double timestamp = 1498122000; 日期時間日期星=新日期時間(1970年,1,1,0,0,0,0,System.DateTimeKind.Utc).AddSeconds(時間戳);' 從[這裏]萃取(https://stackoverflow.com/a/250400/1257607) – DanielV

4
var Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(); 
+1

需要NET 4.6。 – JeromeJ