33 lines
1.3 KiB
C#
33 lines
1.3 KiB
C#
namespace dy.net.utils
|
||
{
|
||
public class DateTimeUtil
|
||
{
|
||
public static DateTime Convert10BitTimestamp(long timestamp)
|
||
{
|
||
// 1. 定义Unix时间戳的起始时间(1970-01-01 UTC)
|
||
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||
|
||
// 2. 计算目标时间(UTC时区):起始时间 + 时间戳(秒数)
|
||
DateTime utcTime = epoch.AddSeconds(timestamp);
|
||
|
||
// 3. 转换为本地时间(可选,根据需求选择UTC或本地时间)
|
||
DateTime localTime = utcTime.ToLocalTime();
|
||
return localTime;
|
||
// 4. 格式化为yyyy-MM-dd HH:mm:ss
|
||
//return localTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取当前Unix时间戳(毫秒级)
|
||
/// </summary>
|
||
/// <returns>毫秒级时间戳(long类型)</returns>
|
||
public static long GetUnixTimestampMilliseconds()
|
||
{
|
||
DateTimeOffset epoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
|
||
// 计算当前UTC时间与纪元时间的差值(毫秒)
|
||
long timestamp = (long)(DateTimeOffset.UtcNow - epoch).TotalMilliseconds;
|
||
return timestamp;
|
||
}
|
||
}
|
||
}
|