C# C-从Int值获取日期

C# C-从Int值获取日期,c#,datetime,jwt-auth,C#,Datetime,Jwt Auth,你好 我正在尝试检查令牌过期日期是否已过期。我正在使用JWT生成我的令牌。通过使用此代码,我可以在javascript环境中检查我的令牌是否仍然有效 if (decodedToken.exp < new Date().getTime() / 1000) { alert("Session expired); } // decodedToken.exp returns a value like "1556797243" 但它不起作用。您可以使用此函数将unixTime转换为Date

你好

我正在尝试检查令牌过期日期是否已过期。我正在使用JWT生成我的令牌。通过使用此代码,我可以在javascript环境中检查我的令牌是否仍然有效

if (decodedToken.exp < new Date().getTime() / 1000) {
    alert("Session expired);
}

// decodedToken.exp returns a value like "1556797243"

但它不起作用。

您可以使用此函数将unixTime转换为DateTime


您可以使用此函数将unixTime转换为DateTime


.NET有一种内置的方法来解析Unix时间戳,但它位于DateTimeOffset上,而不是DateTime上,正如您所期望的:

var expirationTime = DateTimeOffset.FromUnixTimeSeconds(expiration).DateTime;
如果expiration是一个字符串,则需要首先将其解析为长字符串:

var expirationTime = DateTimeOffset.FromUnixTimeSeconds(long.Parse(expiration)).DateTime;

.NET有一种内置的方法来解析Unix时间戳,但它位于DateTimeOffset上,而不是DateTime上,正如您所期望的:

var expirationTime = DateTimeOffset.FromUnixTimeSeconds(expiration).DateTime;
如果expiration是一个字符串,则需要首先将其解析为长字符串:

var expirationTime = DateTimeOffset.FromUnixTimeSeconds(long.Parse(expiration)).DateTime;

我找不到DateUtilI,但我的exp是一个字符串。没多久。所以我有一个错误,您可以使用var expirationDate=DateUtil.FromUnixTimelong.Parseexpiration;我找不到DateUtilI,但我的exp是一个字符串。没多久。所以我有一个错误,您可以使用var expirationDate=DateUtil.FromUnixTimelong.Parseexpiration;但这不会有问题,对吗?是否获取datetimeoffset而不是datetime?最后的.datetime部分将datetimeoffset转换为datetimeoffset,尽管使用.datetime并非完全错误,但您最好使用.UtcDateTime,它可以正确地将.Kind结果设置为DateTimeKind.Utc,而不是DateTimeKind.Unspecified。但这不会有问题,对吗?是否获取datetimeoffset而不是datetime?最后的.datetime部分将datetimeoffset转换为datetimeoffset,尽管使用.datetime并非完全错误,但最好使用.UtcDateTime,它将结果的.Kind正确设置为DateTimeKind.Utc,而不是DateTimeKind.Unspecified。
var expirationTime = DateTimeOffset.FromUnixTimeSeconds(long.Parse(expiration)).DateTime;