山东有客赞

科技创造生活·精诚赢得未来

依托网络科技数据中心,以行业内领先的大数据技术及产品体系为基础, 运用成熟的运营模式为企业和个人提供定制化的大数据产品和服务。

News

新闻资讯

C# TimeZoneInfo实现时间戳转换为DateTime时间格式
来源: | 作者:山东有客赞 | 发布时间: 2022-05-10 | 84 次浏览 | 分享到:
C# TimeZoneInfo实现时间戳转换为DateTime时间格式

/// <summary>

        /// 时间戳转换成时间

        /// </summary>

        /// <param name="timestamp">时间戳</param>

        /// <returns></returns>

        public static DateTime? ToDateTime(long timestamp)

        {

            string ID = TimeZoneInfo.Local.Id;

DateTime start = new DateTime(1970, 1, 1) + TimeZoneInfo.Local.GetUtcOffset(DateTime.Now);

DateTime startTime = TimeZoneInfo.ConvertTime(start, TimeZoneInfo.FindSystemTimeZoneById(ID));

if(millisecond ){

//毫秒级时间戳

startTime.AddMilliseconds(timestamp);

}else{

//根据时间戳类型就行转换

//例:秒级时间戳

startTime.AddSeconds(timestamp);

}                        

        }     

 

 

方法二:

 /// <summary>       

        /// 时间戳转为C#格式时间       

        /// </summary>       

        /// <param name=”timeStamp”></param>       

        /// <returns></returns>       

        public  DateTime ConvertStringToDateTime(string timeStamp)

        {

            DateTime dtStart = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), TimeZoneInfo.Local);

            long lTime = long.Parse(timeStamp + "0000000");

            TimeSpan toNow = new TimeSpan(lTime);

            return dtStart.Add(toNow);

 

           

        }