namespace Znyc.CloudCar.Utility.Helper { public static class DateHelper { /// /// 时间戳起始日期 /// public static DateTime TimestampStart = new(1970, 1, 1, 0, 0, 0, 0); public static DateTime StampToDateTime(string time) { time = time.Substring(0, 10); double timestamp = Convert.ToInt64(time); System.DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); dateTime = dateTime.AddSeconds(timestamp).ToLocalTime(); return dateTime; } /// /// 转换为时间戳 /// /// /// 是否使用毫秒 /// public static int ToTimestamp(this DateTime dateTime, bool milliseconds = false) { TimeSpan timestamp = dateTime.ToUniversalTime() - TimestampStart; return (int)(milliseconds ? timestamp.TotalMilliseconds : timestamp.TotalSeconds); } /// /// 出厂时间 /// /// /// public static DateOutput GetAppearanceTimeAsync(long id) { DateOutput output = new DateOutput(); switch (id) { case 8001: output.Start = new DateTime(DateTime.Now.AddYears(-3).Year, 1, 1); output.End = new DateTime(DateTime.Now.Year, 12, 31); break; case 8002: output.Start = new DateTime(DateTime.Now.AddYears(-5).Year, 1, 1); output.End = new DateTime(DateTime.Now.AddYears(-3).Year, 12, 31); break; case 8003: output.Start = new DateTime(DateTime.Now.AddYears(-8).Year, 1, 1); output.End = new DateTime(DateTime.Now.AddYears(-5).Year, 12, 31); break; case 8004: output.Start = new DateTime(DateTime.Now.AddYears(-12).Year, 1, 1); output.End = new DateTime(DateTime.Now.AddYears(-8).Year, 12, 31); break; case 8005: output.Start = DateTime.MinValue; output.End = new DateTime(DateTime.Now.AddYears(-12).Year, 12, 31); break; default: output.Start = DateTime.MinValue; output.End = DateTime.MaxValue; break; } return output; } public class DateOutput { public DateTime Start { get; set; } public DateTime End { get; set; } } } }