C# 如何在C语言中获得正确的时间戳#

C# 如何在C语言中获得正确的时间戳#,c#,timestamp,C#,Timestamp,我想在我的应用程序中获得有效的时间戳,因此我写道: public static String GetTimestamp(DateTime value) { return value.ToString("yyyyMMddHHmmssffff"); } // ...later on in the code String timeStamp = GetTimestamp(new DateTime()); Console.WriteLine(timeStamp); 输出: 000101010

我想在我的应用程序中获得有效的时间戳,因此我写道:

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

我做错了什么?

您的错误是使用了
new DateTime()
,它在00:00:00.000返回0001年1月1日,而不是当前的日期和时间。获取当前日期和时间的正确语法为,因此更改此语法:

String timeStamp = GetTimestamp(new DateTime());
为此:

String timeStamp = GetTimestamp(DateTime.Now);
这是个性化不同事务的另一种方式。现在不是unix时间,而是windows文件时间

从:


“TIME”是要获取unix时间戳的DateTime对象。

对于UTC

string unixTimestamp = Convert.ToString((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
string unixTimestamp = Convert.ToString((int)DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
对于本地系统

string unixTimestamp = Convert.ToString((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
string unixTimestamp = Convert.ToString((int)DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
用法:

UnixToDate(1607013172, "HH:mm:ss"); // Output 16:32:52
Timestamp; // Output 1607013172

另一条路是什么?从时间戳到datetime@DanielV参见此处:.
double timestamp=1498122000;DateTime fecha=新的日期时间(1970,1,1,0,0,0,System.DateTimeKind.Utc).AddSeconds(时间戳)从Requires NET 4.6中提取。这是我的答案,但我使用了
tounixtimemissions()。如果没有解释,纯代码的答案就没有那么大的帮助。帮助我轻松获得时间戳样式以使缓存无效+回答得好!这是一个在时间上节省了九针的东西,我正在挣扎。我非常感激你!
string unixTimestamp = Convert.ToString((int)DateTime.Now.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
internal static string UnixToDate(int Timestamp, string ConvertFormat)
{
    DateTime ConvertedUnixTime = DateTimeOffset.FromUnixTimeSeconds(Timestamp).DateTime;
    return ConvertedUnixTime.ToString(ConvertFormat);
}

int Timestamp = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
UnixToDate(1607013172, "HH:mm:ss"); // Output 16:32:52
Timestamp; // Output 1607013172