using System; namespace WZ { public class TimeUtils { #region 本地时间 public static long CurrentTimestamp() { return DateTimeOffset.UtcNow.ToUnixTimeSeconds(); } // 获取当前本地时间的毫秒级时间戳 public static long GetLocalTimestamp() { DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Local); TimeSpan diff = GetNowDateTime() - origin; return (long)diff.TotalMilliseconds; } public static DateTime TimestampToLocalDateTime(long timestamp) { // 以UTC时间为基准计算(避免时区转换问题) DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Local); DateTime utcDateTime = origin.AddMilliseconds(timestamp); // 转换为本地时间 return utcDateTime.ToLocalTime(); } public static DateTime GetNowDateTime() { return DateTime.Now; } #endregion } }